Что такое «тег» и «идентификатор» на макетах? - PullRequest
17 голосов
/ 18 марта 2012

Я знаю, как работает оператор switch, но я не знаю, что это значит (R.id.webbutton).Может кто-нибудь объяснить, что это такое, а также что такое TAG?Есть ли руководство для начинающих?Я имею в виду абсолютных новичков.

Ответы [ 3 ]

60 голосов
/ 18 марта 2012

идентификаторы и метки

идентификаторы

Представления могут иметь целочисленный идентификатор, связанный с ними. Эти идентификаторы обычно назначаются в файлах макета XML и используются для поиска конкретные представления в дереве представлений. Общий шаблон:

Определите кнопку в файле макета и назначьте ей уникальный идентификатор.

<Button
   android:id="@+id/my_button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/my_button_text"/>

В методе Activity действия onCreate найдите кнопку

Button myButton = (Button) findViewById(R.id.my_button);

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

Метки

В отличие от идентификаторов, теги не используются для идентификации представлений. Теги по сути дополнительная часть информации, которая может быть связана с представлением. Oни чаще всего используются для удобства хранения данных, связанных с представлениями в сами взгляды, а не помещая их в отдельный структура.

Теги могут быть указаны со значениями последовательности символов в XML макета в виде одного тега с использованием атрибута тега android: или нескольких тегов с использованием дочернего элемента:

 <View ...
       android:tag="@string/mytag_value" />
 <View ...>
     <tag android:id="@+id/mytag"
          android:value="@string/mytag_value" />
 </View>

Теги также могут быть указаны с произвольными объектами из кода с использованием setTag(Object) или setTag(int, Object).

11 голосов
/ 18 марта 2012

Идентификатор - это идентификатор компонентов вашего xml [может быть представления, такие как textview, edittext ... или viewgroup, такие как linearlayout ,lativelayout ... или что-нибудь еще] в xml, просто вы можете получить ссылку на них в коде Java, сказав

(R.id. "Id вашего представления в xml")

, но сначала вы должны использовать setContentView (R.layout. "Имя файла xml в layout / res в вашем проекте") thisXML-файл, который вы хотите использовать, это его компоненты.

TAG Я использую его, когда хочу показать сообщение в logcat [инструмент в eclipse, вы можете наблюдать за сообщениями своего приложения, когда он запущен], говоря String TAG = yourclassname.class.getsimpleName ();

и использовать его в Log.d (TAG, «любая строка здесь» + некоторая переменная в моем классе, я хочу знать ее значение в определенное время при запуске приложения);

Я надеюсь, что я дал вам понять.

2 голосов
/ 18 марта 2012

Начните с учебников . (Если вы настолько новичок, что еще не настроили среду разработки, начните с Установка SDK .)

Когда вы используете средство ведения журнала консоли в Android, первым аргументом методов ведения журнала является тег, который можно использовать для фильтрации вывода logcat. Типичный стиль программирования:

public class Something { 
    private static final String TAG = "Something";

    public void aMethod() {
        Log.i(TAG, "Entered aMethod");
    }
    . . .
}

Вот что такое TAG.

Идентификаторы ресурсов объясняются в руководстве. Когда вы определяете ресурс в XML, Android генерирует класс под названием R с вложенными классами для различных видов ресурсов (R.id, R.string, R.layout и т. Д.). Каждый из этих вложенных классов имеет константу для каждого ресурса этого типа. R.id.webbutton может быть сгенерировано из файла макета с кнопкой с атрибутом android:id="@+id/webbutton". Это все объясняется в уроках.

...