android - 从切换首选项状态设置首选项屏幕摘要

标签 android

我正在尝试动态更新嵌套子选项的特定首选项屏幕摘要(此首选项屏幕有自己的键名)。我的目标是首选项屏幕摘要应该通过其 subview 或嵌套 View 中的切换首选项状态进行更新。我尝试使用此处的指南 How to listen for preference changes within a PreferenceFragment?但这只展示了如何动态更新特定的键引用。

有任何关于使用键名为特定首选项屏幕实现此实现的指示吗?

最佳答案

您需要将 newValue 转换为 bool 值并设置摘要,如代码所示。

Preference pref = findPreference(getString(R.string.key_of_pref));
PreferenceScreen parent = (PreferenceScreen) sf.findPreference("prefs_root");
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
   @Override
   public boolean onPreferenceChange(Preference preference, Object newValue) {
       boolean newValueBool = (Boolean) newValue;
       parent.setSummary(newValueBool ? "Summary is true" : "Summary is false");                                                  
       ((BaseAdapter) getPreferenceScreen().getRootAdapter()).notifyDataSetChanged();
       // true to update the state of the Preference with the new value
       // in case you want to disallow the change return false
       return true;
  }
});

关于android - 从切换首选项状态设置首选项屏幕摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018811/

相关文章:

安卓 : Error occur on custom switch layout

android - 启动 Spotify Intent

java - 安卓 Realm : compactRealm not working as expected

android - 当我将 android 背景设置为白色时,tablayout 和菜单项背景也变成了白色

android - 如何向 firebase 消息通知添加按钮?

android - 在android上设计不确定的水平进度条

android - Android 上的后退按钮/后退键会触发哪些操作?

Android - 多屏支持问题

java - 我的数据库引用没有显示在树中

android - 以编程方式更改小部件布局