2013-05-27 4 views
1

В Android есть много встроенных настроек, таких как CheckBoxPreference, EditTextPreference. Помимо этих встроенных настроек мы можем настроить некоторые настройки, расширив класс Preference. Итак, можем ли мы получить виджет в этих предпочтениях, например checkbox, edittext?Как получить виджет в предпочтении?

+0

Вы хотите добавить галочку, отредактировать текст и т. Д., Чтобы передать или что? –

+1

Я хочу получить ссылку на виджет в предпочтении. – CrystalJake

ответ

0

Я думаю, что вы говорите о виджетах, отображаемых в конце Preferences на экране prefs, верно? Android позволит вам установить эти виджеты в вашем XML с помощью атрибута widgetLayout:

<com.me.MyPreference 
     android:key="my_key" 
     android:widgetLayout="@layout/my_layout" 
     android:title="@string/my_title"/> 

или в коде через несколько функций, но не дает много, чтобы получить доступ к фактическому надутому макету во время выполнения (например, для обновите состояние флажка). Глядя на CheckboxPreference код, Google решает эту проблему, захватывая ссылку на виджет в функции Prefs onBindView:

@Override 
protected void onBindView(View view) { 
    super.onBindView(view); 
    myWidget = (MyWidget) view.findViewById(R.id.my_widget); 
} 

, то вы можете сделать то, что вы хотите, чтобы вид позже, когда прив изменения.

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