Android文档描述了如何使用PreferenceActivity
或PreferenceFragment
创建“首选项” UI。这些首选项本身是在XML文件(例如preferences.xml
)中定义的,该XML文件除其他外还包含用于将每个首选项存储在应用程序的android:key
中的“密钥”(SharedPreferences
)。
这对于具有一组首选项的应用程序非常有用。但是,假设有一个应用程序可以有多个“项目”(例如:视频聊天应用程序中有多个帐户),并且需要显示每个帐户的首选项屏幕。
这怎么办?是否可以在运行时指定密钥(以便可以为每个帐户使用不同的前缀)?有更好的方法来解决这个问题吗?
答案 0 :(得分:1)
是的,有可能! 您可以像这样在运行时上分配键,但是正如您在注释中所说的那样,您需要在Xml中更改预定义首选项的键,而不是显式创建新的首选项,这是一种方法-
Preference pref = findPreference("my_pref");
String myPrefix = "prefix_";
pref.setKey(myPrefix + pref.getKey());