Я новичок в Android, так что простите, если это очевидно, я все еще пытаюсь понять рабочий процесс. Я следую учебному пособию и создал listView и ArrayAdapter.
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,names);
Затем мне стало любопытно взглянуть на конструктор ArrayAdapter. В конструкторе textViewResourceId имеет значение 0 .
public ArrayAdapter(@NonNull Context context, @LayoutRes int resource,
@NonNull List<T> objects) {
//Here textViewResourceId is set to 0
this(context, resource, 0, objects);
}
Затем я посмотрел на источник android .R.layout.simple_list_item_1 . В этот момент я ожидал, что id @ android: id / text1 будет 0 , но когда я его проверил, редактор покажет мне public static final int text1 = 16908308
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />
Я здесь что-то не так, кто-нибудь может кратко объяснить мне, что здесь происходит? Спасибо.