Что такое "android.R.id.text1"?
Я новичок в разработке Android. В образце "Блокнот" я увидел следующий фрагмент кода:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.noteslist_item, cursor,
new String[] { Notes.TITLE }, new int[] { android.R.id.text1 });
и в файле notelist_item.xml
:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1" <-----------HERE
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"
/>
Итак, мне интересно, что это за android.R.id.text1
?
Кроме того, я нашел android.R.id.button1
, button2
, button3
в файле android.jar
.
Являются ли они некоторыми известными идентификаторами для некоторых сторонних элементов управления?
Спасибо
Ответы
Ответ 1
В платформе Android Java android.R.id.text1
является идентификатором TextView
. Вы можете найти его во многих макетах из фреймворка (select_dialog_item
, select_dialog_singlechoice
, simple_dropdown_item_1line
и т.д.). В Android-среде xml она представлена @+id/text1
Следовательно, если вы используете один из этих макетов и хотите изменить текст, вам нужно будет использовать этот идентификатор.
#probably in a custom ListAdapter that uses
View view = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
TextView textView = (textView) view.findViewById(android.R.id.text1);
textView.setText("Oh no! not hello world again");
Кроме того, вы можете использовать этот же идентификатор, чтобы идентифицировать TextView
(или что-нибудь, но это вводит в заблуждение) в ваших настраиваемых макетах. См. Образец "Блокнот", файл макета noteslist_item.xml
.
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"
/>
Ответ 2
Это идентификатор вида встроенного макета (android.R.layout.simple_list_item_1
), используемый для списков по умолчанию и т.д.
Ответ 3
android.R.id.text1 - это идентификатор TextView, определенный в предопределенном макете android android.layout.simple_list_item1. поэтому он точно так же дает идентификатор, который уже описан, а не дает новый идентификатор.
Ответ 4
android.R.id.text1 - это TextView в макете (android.R.layout.simple_list_item_1)
вы можете увидеть это в
(путь к SD SDK для Android)\platform\android-\data\res\layout
Папка
Ответ 5
android.R.id.text1 - это идентификатор TextView, который определен в notelist_item.xml.
Вы можете найти и использовать виджет по его идентификатору.
Ответ 6
Часть text1 (и другие кнопки) являются ссылкой для вашего java-кода на textView, определенный в вашем layout.xml. остальная часть этого Android.R.id сообщает код, чтобы найти ресурс Android с идентификатором "text1", например.
Ответ 7
android.R.id.Text1 - это фактически id simple_dropdown_item_1line в андроиде
если вы нажмете simple_dropdown_item_1line с помощью ctrl + touchpad (если используете ноутбук), вы увидите, что есть идентификатор simple_dropdown_item_1line, который вы используете тот же текст1 в xmlfile дать свои стили в вашем xml файле, тогда вы легко запустите его