【问题标题】:PreferenceActivity with multiple preference files具有多个首选项文件的 PreferenceActivity
【发布时间】:2012-08-08 18:44:02
【问题描述】:

PreferenceActivity中使用偏好文件(而不是默认的共享偏好)的方式如下:

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);
    }
}

在本例中,我们使用名为“my_preferences”的共享首选项。 但是我们如何在同一个 PreferenceActivity 中使用多个自定义首选项?

【问题讨论】:

    标签: java android sharedpreferences android-preferences


    【解决方案1】:

    声明您的首选项文件的名称,并在检索首选项时,在 getSharedPreferences() 中提及您要访问的文件的名称。

    这里我声明了两个文件名:PrefFile 和 PrefFileNEW;然后我在检索首选项时将各自的名称传递给 getSharedPreference()。

        public static final String PREF_FILE_NAME = "PrefFile";
        public static final String PREF_FILE_NAME_NEW = "PrefFileNEW";
        SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
    {
    //access your preferences here
    }
    
    SharedPreferences preferences_new = getSharedPreferences(PREF_FILE_NAME_NEW, MODE_PRIVATE);
    
    {
    //access your preferences_new here
    }
    

    希望对你有帮助。

    【讨论】:

    • 这可能会在一个普通的Activity中工作。我开始相信在 PreferenceActivity 但是我想做的事情是不可能的。
    • 您能否分享一下您为什么要专门使用 PreferenceActivity 而不是通常的 Activity ?
    • 除了方便之外没有什么大的原因。
    • 好吧,在这种情况下,您必须在便利性和您尝试实现的任何东西之间做出选择,因为您可以使用我提供的代码在正常的 Activity 中做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2011-03-30
    相关资源
    最近更新 更多