2012-07-26 150 views
4

我有一个共享首选项屏幕,复选框的列表首选项等。现在我想在共享首选项屏幕中添加一个按钮,当我点击它时会弹出一个对话框。我这样做,它看上去很完美,使偏好屏幕上的按钮:Android:偏好按钮点击?

<Preference 
     android:key="key" 
     android:summary="make pop up dialog" 
     android:title="dialog" /> 

但现在我不知道怎么去当它被点击我试过,但由于没有偏好改变了我不能使用onSharedPreferenceChanged其只是点击。那么当点击按钮被点击时我会做些什么?谢谢您的帮助。

+0

看吧下http://stackoverflow.com/questions/ 11272839 /非弃用-findpreference-方法-机器人/ 23081464#23081464 – mehmet 2014-04-15 10:52:23

回答

5

首先,您的PreferenceActivity必须执行Preference.OnPreferenceClickListener。 然后,onCreate函数调用

findPreference(YOUR_KEY_PREF).setOnPreferenceClickListener(this);

,并添加此功能

@Override 
public boolean onPreferenceClick(Preference preference) { 
    String key = preference.getKey(); 
    if(key.equals(YOUR_KEY_PREF)){ 
     showYourDialog(); 
     return true; 
    } 
    return false; 
} 

在你的情况,YOUR_KEY_PREF"key"