Dro*_*man 4 android summary preferences preferenceactivity
我仍在寻找一种方法来根据其当前值更改ListPreference的摘要.经过一些研究,我设法得到它(部分)工作:
ListPreference pref = (ListPreference) findPreference("Repeat_PREFS");
pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object val) {
ListPreference pref = (ListPreference) findPreference("Repeat_PREFS");
pref.setSummary(pref.getEntry());
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,当我第一次选择值时,摘要会更改为其他值或根本不会更改.当我第二次选择相同的值时,会正确设置摘要.我究竟做错了什么?
没有方法可以激活首选项的行为.您需要使用要设置为摘要的值调用setSummary(),例如使用首选项侦听器.
编辑(更改问题后......):不要使用,Preference.OnPreferenceChangeListener因为在新值保持之前调用它(参见http://developer.android.com/reference/android/preference/Preference.OnPreferenceChangeListener.html因此,您首次更改您的偏好值的行为.
我建议OnSharedPreferenceChangeListener你在你的PreferenceFragment或PreferenceActivity.(不要忘记注册和取消注册侦听器.)在完成对首选项的更改后调用此侦听器.您还应该在XML中为首选项设置默认值.
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |