重复使用PreferenceFragment来管理多个preference文件

4
场景: 我的Android应用程序充当服务器,有N个客户端连接到该服务器。 有一组设置供用户从服务器(Android应用程序)配置给客户端。因此,我通过套接字将用户首选项发送到各自的客户端。 这组设置对于所有客户端都是相同的,但我需要为每个客户端维护设置状态。 例如:

设置集合:

Settings 1
Settings 2
Settings 3

现在用户将上述设置配置给2个客户端,具体如下: 对于客户端1:
Settings 1 :true
Settings 2 :false
Settings 3 :false

对于客户端2:

Settings 1 :false
Settings 2 :false
Settings 3 :false

现在,在Android应用程序中,当用户选择客户端1时,应显示客户端1特定的设置。

问题: 我无法保存按客户端分的设置状态。

我的专业知识: 我是Android编程的初学者。

到目前为止我的进展: 根据我对情况的理解,我需要为每个客户端创建不同的共享首选项文件。 我为一组设置创建了一个通用的首选项片段。由于所有客户端的设置都相同,因此我正在重用首选项片段。 我还尝试为每个客户端动态指定首选项文件:

       SharedPreferences sharedPreference = context.getSharedPreferences(
                "<Here I dynamically specify prefs file name>", Context.MODE_PRIVATE);

但是它没有起作用。 请帮忙。
1个回答

7
回答我的问题,希望这可以帮助未来的某个人: 在这种情况下,我们需要创建不同的首选项文件。我们可以按照以下方式操作:
getPreferenceManager().setSharedPreferencesName("preference_file_name");

然后加载特定的偏好文件

getSharedPreferences("preference_file_name", Context.MODE_PRIVATE);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接