2013-05-27 32 views
1

在Android中,有很多內置首選項,例如CheckBoxPreference,EditTextPreference。除了這些內置偏好之外,我們還可以通過擴展Preference類來定製一些偏好。那麼我們是否可以在這些偏好設置中獲得小部件,如checkboxedittext如何優先獲取小部件?

+0

你想添加複選框,編輯文本等prference或什麼? –

+1

我想優先檢索對小部件的引用。 – CrystalJake

回答

0

我想你在說什麼是在首選項屏幕上的首選項末尾顯示的小部件,對不對? Android將讓你通過widgetLayout屬性設置在你的XML這些小部件:

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

或通過一些功能的代碼,但不提供更多的在運行時訪問實際充氣佈局(例如,以更新複選框的狀態)。縱觀CheckboxPreference代碼,谷歌通過在偏好設置onBindView功能斂到窗口小部件的引用解決了這個:

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

,那麼你可以做你想做的PREF變化的時候,從以後的東西。