首页 > 解决方案 > 如何以编程方式设置 MultiSelectListPreference 的复选框值?

问题描述

我正在开发一个 android 应用程序,它从共享首选项中获取首选项摘要,现在我必须将这些值设置到 MultiSelectListPreference 的这个对话框中。

我得到了这样的东西(摘要是正确的,但未检查对话框值)

在此处输入图像描述

我用来将摘要与值更改绑定的代码(工作正常):

        objects.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                String values;
                objects.setSummary(newValue.toString());
                values = newValue.toString().replace("[", "");
                values = values.replace("]", "");
                editorObjects.putString(UserSharedPref.objectList, values);

                editorObjects.commit();
                return true;
             }
         });

值和摘要在上面的示例中绑定。

我正在从这样的用户共享首选项中初始化值(工作正常):

objects.setSummary(["+UserSharedPref.initializeSharedPreferencesForObjectList(getApplicationContext()).getString(UserSharedPref.objectList, "person,bicycle,motorcycle,car,bus,truck") + "]");

但是,根据此摘要检查值是我遇到问题的地方。我的方法应该如何?

标签: javaandroidsharedpreferencesandroid-preferences

解决方案


推荐阅读