小编liq*_*uid的帖子

Android从preferences.xml获取密钥

我有一个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.

有没有人有解决方案如何让这项工作?

java android preferences

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

preferences ×1