Может кто-нибудь объяснить или предложить учебник для создания listView в Android?
Вот мои требования:
- Я должен иметь возможность динамически добавлять новые элементы, нажав кнопку.
- Должен быть достаточно простым для понимания (например, без каких-либо улучшений производительности или convertview)
Я знаю, что есть довольно много вопросов по этой теме, опубликованных здесь в StackOverflow, но не смог найти ни одного, который бы ответил на мой вопрос. Спасибо!
Ответы:
Сначала создайте макет XML в
res/layout/main.xml
папке вашего проекта :Это простой макет с кнопкой сверху и списком снизу. Обратите внимание , что
ListView
имеет идентификатор ,@android:id/list
который определяет по умолчанию можно использовать.ListView
ListActivity
android.R.layout.simple_list_item_1
это макет элемента списка по умолчанию, предоставляемый Android, и вы можете использовать этот макет для простых вещей.listItems
Список, который содержит данные, показанные в ListView. Все вставки и удаления должны быть сделаны наlistItems
; измененияlistItems
должны быть отражены в представлении. Это обрабатываетсяArrayAdapter<String> adapter
, что должно быть уведомлено с помощью:adapter.notifyDataSetChanged();
Адаптер создается с 3 параметрами: контекст, который может быть вашим
activity/listactivity
; макет вашего индивидуального элемента списка; и, наконец, список, который представляет собой фактические данные, которые должны отображаться в списке.источник
ListActivity is an activity that includes a ListView as its only layout element by default. [...] (it) hosts a ListView object
. Таким образом, по умолчанию методы (как setAdapter и т. Д.) Находятся «внутри» класса.вместо того
Вы можете напрямую позвонить
источник
Сначала вы должны добавить ListView, EditText и кнопку в ваш activity_main.xml.
Теперь в вашем ActivityMain:
Это работает для меня, я надеюсь, что помог вам
источник
Если вы хотите использовать ListView в AppCompatActivity вместо ListActivity, вы можете сделать следующее (изменив ответ @ Shardul):
И в вашем макете вместо использования
android:id="@android:id/list"
вы можете использоватьandroid:id="@+id/listDemo"
Так что теперь вы можете иметь
ListView
внутри нормальныйAppCompatActivity
.источник
Код для файла MainActivity.java.
Код для файла макета Activity_main.xml.
Скриншот
источник
Краткий ответ: когда вы создаете ListView, вы передаете ему ссылку на данные. Теперь всякий раз, когда эти данные будут изменены, это будет влиять на представление списка и, следовательно, добавлять элемент в него после того, как вы вызовете adapter.notifyDataSetChanged ();
Если вы используете RecyclerView, обновите только последний элемент (если вы добавили его в конец списка объектов) для экономии памяти с помощью: mAdapter.notifyItemInserted (mItems.size () - 1);
источник
Это простой ответ, как динамически добавлять данные в список просмотра Android Kotlin
Здесь я только что объяснил два способа, мы можем сделать это многими способами.
источник