use*_*086 2 android sharedpreferences
我想在点击其他偏好时更改首选项.我用onSharedPreferenceChanged方法做了这个,并用这样的编辑器设置值...
public void onSharedPreferenceChanged(SharedPreferences sp, String key) {
Preference pref = findPreference(key);
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = settings.edit();
editor.putString("sound","2");
editor.commit();
Intent intent3 = new Intent(this, Prefer.class);
startActivity(intent3);
this.setSummary(pref);
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误,editor.commit();我的代码在后台运行了好几次,然后才给出StatckOverflow错误......我做错了什么?
比你
你的来电,
onSharedPreferenceChanged
Run Code Online (Sandbox Code Playgroud)
然后你的呼唤
editor.commit();
Run Code Online (Sandbox Code Playgroud)
通过commit(),您将更改共享首选项,从而调用
onSharedPreferenceChanged
Run Code Online (Sandbox Code Playgroud)
所以循环继续.....直到你StackOverflow
*我的圣诞节SharedPreferences API链接*
| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |