Dodawanie do listy

Listy: Spinner i ListView z adapterem - Aplikacje mobilne: Android krok po kroku (android)

Adapter może pracować na `ArrayList`. `adapter.add(...)` dopisuje pozycję i od razu odświeża widok listy. Po dodaniu pole tekstowe jest czyszczone przez `setText("")`.

{"layout":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    android:padding=\"16dp\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\">\n\n        <EditText\n            android:id=\"@+id/task\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"wrap_content\"\n            android:hint=\"Zadanie\"\n            android:inputType=\"text\"\n            android:layout_weight=\"1\" />\n\n        <Button\n            android:id=\"@+id/add\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Dodaj\" />\n\n    </LinearLayout>\n\n    <ListView\n        android:id=\"@+id/tasks\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\" />\n\n</LinearLayout>\n","code":"package com.example.app;\n\nimport android.os.Bundle;\nimport android.widget.*;\nimport androidx.appcompat.app.AppCompatActivity;\nimport java.util.ArrayList;\n\npublic class MainActivity extends AppCompatActivity {\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        ArrayList<String> items = new ArrayList<>();\n        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items);\n        ListView tasks = findViewById(R.id.tasks);\n        tasks.setAdapter(adapter);\n        EditText task = findViewById(R.id.task);\n        findViewById(R.id.add).setOnClickListener(v -> {\n            adapter.add(task.getText().toString());\n            task.setText(\"\");\n        });\n    }\n}\n"}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Aplikacje mobilne: Android krok po kroku·Zaloguj się, aby zapisać postęp na koncie.