2

В некоторых классах Android вы можете настроить пользовательский макет. Насколько мне известно, эти пользовательские макеты нуждаются в определенном android:id s для работы.Как узнать, какой Android и Android ожидает?

Например, для ListActivity a ListView с @android:id/list должен быть предоставлен, и это указано в документации.

Что относительно других видов? Например, я проверял API Demos и наткнулся на

<CheckBoxPreference 
       android:key="child_checkbox_preference" 
       android:dependency="parent_checkbox_preference" 
       android:layout="?android:attr/preferenceLayoutChild" 
       android:title="@string/title_child_preference" 
       android:summary="@string/summary_child_preference" /> 

Для настройки предпочтительнее расположение. Этот макет, кажется, preference_child.xml, в котором есть @+android:id/title и @+android:id/summary, который, как я предполагаю, будет использоваться для предоставления заголовка и резюме, но документировано ли это где угодно?

Как узнать, какие идентификаторы ресурсов я должен использовать, чтобы все автоматически работало?

ответ

1

AFAIK, нет никакой уловки, чтобы узнать, но узнать documentation или открыть файл id.xml и искать ссылки.

P.S. Ваш код демонстрирует, как использовать определенный атрибут из всего стиля (использование «?»), Это не имеет никакого отношения к ID

+0

Спасибо за ваш ответ. Я знаю, что это атрибут, но это относится к макету. Я хотел сказать, что я мог бы принять это и заставить его ссылаться на @ layout/my_checkbox_layout, но потом, как я узнаю, что мне нужно разместить именно в этом макете, чтобы получить все «преимущества по умолчанию»? – Pin

Смежные вопросы