PreferenceActivity如何使用自定义首选项文件

Yas*_*ima 21 android android-preferences

我对偏好的第一次尝试是不知情的PreferenceActivity.所以现在我有一个应用程序将所有用户首选项存储在特定的首选项文件中.

我想迁移到使用PreferenceActivity但我也希望我的用户保持他们的偏好.

有没有办法告诉我的PreferenceActivity将该特定文件用于所有首选项?

小智 67

发布此内容可能为时已晚,但您可以在这里找到一个不错的解决方案

您可以事先设置默认共享首选项文件的名称,如下所示:

public class MyPreferencesActivity extends PreferenceActivity {
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

         PreferenceManager prefMgr = getPreferenceManager();
         prefMgr.setSharedPreferencesName("my_preferences");
         prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);

         addPreferencesFromResource(R.xml.preferences);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这有助于某人.

问候.

  • 很好的答案(虽然已弃用...)编辑,因为链接被破坏 - 并从链接复制代码.虽然恕我直言,但使用"MODE_WORLD_READABLE"是错误的. (4认同)

rau*_*aug 1

您可以在应用程序开头读取所有首选项,然后将它们存储在Preferencesusing

Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit();
e.putBoolean("yourPreference", true);
e.putString("yourOtherPreference", "This is the Value");
...
e.commit();
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助