java - 具有多个首选项文件的 PreferenceActivity

标签 java android sharedpreferences android-preferences

在PreferenceActivity中使用一个preference文件(而不是默认的共享preferences)的方法如下:

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 中使用多个自定义首选项呢?

最佳答案

声明您的首选项文件的名称,并在检索首选项时,在 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
}

希望对您有所帮助。

关于java - 具有多个首选项文件的 PreferenceActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871073/

相关文章:

java - 使用 Java 下载 UTF-16 JSON 字符串

java - 简单的 Android 身份验证和之后的请求

java - Android - 应用程序不断因错误而崩溃 - 我认为这与首选项 fragment 有关

java - Azure Function BlobTrigger : Microsoft. WindowsAzure.Storage:无法建立连接,因为目标计算机主动拒绝它

java - 确定路径字符串是 Java 的本地机器还是远程机器的方法

java - 调用 Thread.isInterrupted() 的性能成本是多少?

android - 如何在android中使用异步任务进行音频流

android - Android 的 EventBus 与 RxJava

java - 无法让 onSharedPreferenceChanged() 工作

flutter - 失败: Build failed with an exception (Shared preference and gradle wrapper properties)