Android 如何在实现OnChangeListener后更新ListPreferences
我有PrefActivity,当用户更改列表首选项中的任何按钮时,我使用OnChange Listener来祝酒。 但现在我有两个问题: 1-用户第一次更改选项时未显示toast 2-之后,当任何用户更改优先级时,列表的值不会更新,并且始终设置为第二个值 这是我的代码:Android 如何在实现OnChangeListener后更新ListPreferences,android,preference,Android,Preference,我有PrefActivity,当用户更改列表首选项中的任何按钮时,我使用OnChange Listener来祝酒。 但现在我有两个问题: 1-用户第一次更改选项时未显示toast 2-之后,当任何用户更改优先级时,列表的值不会更新,并且始终设置为第二个值 这是我的代码: public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{ private ListPr
public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
private ListPreference myPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
}
public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {
ListPreference lp = (ListPreference) findPreference("blocktype");
lp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// TODO Auto-generated method stub
Toast.makeText(PrefsActivity.this, "second", Toast.LENGTH_LONG).show();
return false;
}
});
}
}
什么是由于没有人回答我的问题,我想问题出在哪里了
return false
应改为
return true
由于没有人回答我的问题,为了更新首选项,我找出了问题所在
return false
应改为
return true
为了更新首选项,我花了半个小时,但我没有注意到。谢谢,我花了半个小时,但我没有注意到。