aho*_*der 4 android android-preferences sharedpreferences android-view
随着应用程序的运行,我有多个视图来来去去.我希望每个视图都有自己的个人首选项,这些首选项存储为视图的ID标记.上面是"常规首选项",子首选项引用它们在创建视图时获取其默认值.
现在我已经设置了General Preferences是默认的SharedPreferences.但我不知道如何创建新的首选项并设置活动UI,以便用户可以更改它们.它与设置SharedPreferences几乎相同吗?
这可能不是你要求的,但这就是我的所作所为:
在我的主要活动中,当我调用首选项活动时,我将自定义首选项文件的名称作为意图中的额外数据传递给它:
static final String EXTRA_PREFERENCES_NAME = "android.intent.extra.PREFERENCES_NAME";
...
Intent intent = new Intent(this, Preferences.class);
intent.putExtra(EXTRA_PREFERENCES_NAME, preferencesName);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
然后,在我的首选项活动中,我获取自定义首选项名称并将其设置如下:
public class Preferences extends PreferenceActivity {
private String preferencesName = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// get the custom preferences name from the extra data in the intent
preferencesName = getIntent().getExtras().getString(MainActivity.EXTRA_PREFERENCES_NAME);
// set the preferences file name
getPreferenceManager().setSharedPreferencesName(preferencesName);
// get the default preferences from XML
addPreferencesFromResource(R.xml.preferences);
}
Run Code Online (Sandbox Code Playgroud)
最后,在我的主要活动中,我得到这样的具体偏好:
SharedPreferences preferences = getSharedPreferences(preferencesName, MODE_PRIVATE);
String somePreference = preferences.getString("somePreference", defaultValue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2241 次 |
| 最近记录: |