如何在实现OnChangeListener后更新ListPreferences

Rez*_*_Rg 0 android preference

我有PrefActivity,当用户更改列表首选项中的任何按钮时,我使用OnChange Listener进行祝酒.但现在我有2个问题:1,第一次更改用户未显示的选项吐司2之后,用户永远改变prefrences,列表的值时不会更新,并且始终设置第二个值.

这是我的代码:

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;


    }

});
}
}
Run Code Online (Sandbox Code Playgroud)

什么是

Rez*_*_Rg 5

由于没有人回答我的问题,我想出来了,问题出在哪里.

return false
Run Code Online (Sandbox Code Playgroud)

应改为

return true
Run Code Online (Sandbox Code Playgroud)

为了更新首选项