AndroidStudio: ListView и TabActivity [дубликат]

18
задан Andrew Whitaker 11 September 2011 в 04:54
поделиться

3 ответа

Идентификаторы ресурсов в Android специфичны для пакета (это хорошо, иначе у вас будет много конфликтов, если ваше приложение имеет дело с несколькими пакетами одновременно).

@+id/list создаст идентификатор ресурса в вашем приложении (= ваш пакет) с именем «list» и присвоит ему уникальный идентификатор. В коде это будет R.id.list.

@android:id/list будет использовать идентификационный «список» из пакета android (который в коде будет android.R.id.list.

EDIT: нужно добавить исправления. Дэвид Хедлунд указал: правильная ссылка будет @android:id/list. Кроме того, + указывает, что вы определяете новый идентификатор - вам, очевидно, не нужно, когда вы ссылаетесь на что-то, что было определенных в Android API.

39
ответ дан EboMike 1 September 2018 в 00:29
поделиться

в android,

В XML: @ [package:] layout / filename

, как

android:id="@+id/android:list"

Это является стандартным способом ссылаться на представление списка при ссылке на listFragment или listActivity

, поэтому имя файла - это android: list - ссылка на ListView.

перейти к res/values/ids.xml

вы найдете <item type="id" name="list" />

ListView - это группа представлений, которая отображает список прокручиваемых элементов. Элементы списка автоматически вставляются в список с помощью адаптера, который извлекает контент из источника, такого как запрос массива или базы данных, и преобразует результат каждого элемента в представление, которое помещено в список.

0
ответ дан Ahmed Ali 1 September 2018 в 00:29
поделиться

Я думаю, что код примера, который вы опубликовали, имеет опечатку, поэтому он должен быть @android:id/list (без +). Из ListActivity javadoc :

ваш собственный просмотр ДОЛЖЕН содержать объект ListView с идентификатором «@android: id / list»

@android:id/list специфичен для ListActivity, поэтому вам не нужно, если вы добавляете ListView в любой другой вид Activity. Вы должны расширить ListActivity, если хотите, чтобы пользователь сделал больше, чем просмотр списка. Например, вы можете переопределить ListActivity.onListItemClick, чтобы отвечать на клики на элементе в списке.

Точно так же @id/android:empty (опять же, без +) является особым случаем для ListActivity. Это позволяет указать альтернативный вид, который должен отображаться, когда ваш список пуст. Этот вид не будет отображаться при заполнении списка.

11
ответ дан elevine 1 September 2018 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: