2016-06-02 1 views
1

Какова главная разница между этими Если мой файл макета R.layout.custom_layoutЧто такое конструкторы arrayAdapter diff b/w?

Есть много учебников просто размещая от имени RESOURCEID является R.layout.custom_layout.

И от имени textViewRourceId просто размещая идентификатор TextView, который был объявлен в R.layout.custom_layout

ArrayAdapter(Context context,int resourceId,int textViewResourceId,List list)

и

ArrayAdapter(Context context,int resourceId,List list)

я действительно не знаете, где должен я использую и почему?

1) В моей точке зрения В пользовательском адаптере обе работе же

2) Я не мог понять, что первый параметр конструктора int textViewResourceId .Кака/Почему использовать параметр?

3) Май используется в другой textViewResourceId, что не декларировать в R.layout.custom_list

Благодарности

ответ

0

Для ArrayAdapter(Context context,int resourceId,List list)

Общий пример является любые данные, которые вы хотите toString(), вы используете android.R.layout.simple_list_item_1.

Для другого конструктора вы должны предоставить макет, который содержит TextView, и предоставить как родительский макет, так и идентификатор этого TextView в качестве параметра. Это TextView не может быть из другого макета.

+0

Можете ли вы объяснить, почему TextView должно быть от схемы ресурсов и как это TextView реализует в ArrayAdapter? Любой пример .. –

+0

Я не уверен, основные особенности ArrayAdapter, но текстовое представление должно быть внутри ресурса, потому что иначе как бы вы знали, где и как показывать текст? Он использует findViewById, скорее всего ... Вы использовали бы пользовательский макет только тогда, когда вы не хотите, чтобы ваши данные были такими, какие были по умолчанию (выровненный по левому краю, средний шрифт, текущий цвет текста темы и т. Д.) –

0

Обычно, если вы хотите иметь пользовательский адаптер, лучше использовать BaseAdapter. Для 2-х использований: ArrayAdapter (контекст Контекст, внутр RESOURCEID, список Список) - макет должен иметь только один вид, что это TextView

ArrayAdapter (контекст Context, внутр RESOURCEID, внутр textViewResourceId, список List) - Нестандартная планировка может быть сложный и содержать не менее 1 TextView, которые имеют ID как param textViewResourceId в конструкторе.

https://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context, Int, Int, T [])

+0

Нет ничего плохого с расширением ArrayAdapter вместо BaseAdapter, плюс он дает дополнительные реализации общих методов arraylist –

+0

Приятно! Но не могли бы вы объяснить, почему TextView должен быть из макета ресурса и как этот TextView реализует в ArrayAdapter? Любой пример. –

+0

@ cricket_007 Я согласился, но если в будущем у вас будет больше спроса, вам будет легче. Только мой опыт. –