我有一个PreferencesActivity显示preferences.xml带复选框的.
preferences.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Keywords">
<CheckBoxPreference android:key="Essen"
android:title="Essen"
android:selectable="true"
android:enabled="true"
android:persistent="false">
</CheckBoxPreference>
<CheckBoxPreference android:key="Kleidung"
android:title="Kleidung"
android:selectable="true"
android:enabled="true"
android:persistent="false">
</CheckBoxPreference>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
PreferencesActivity:
public class PreferencesViewController extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
Run Code Online (Sandbox Code Playgroud)
现在在另一个ListActivity我想要显示所选复选框中的所有键/标题.
我尝试访问首选项
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Run Code Online (Sandbox Code Playgroud)
要么
SharedPreferences prefs = getSharedPreferences("mypackage_preferences", 0);
Run Code Online (Sandbox Code Playgroud)
但两者都没有真正奏效.
当我调用prefs.getAll().size()结果为0时.
我可以访问密钥/标题getPreferenceScreen().getPreference(i).…但它不能从不同的工作Activity,只能从PreferenceActivity.
有没有人有解决方案如何让这项工作?