gpt4 book ai didi

android - Listpreferences 更改时不调用 onPreferenceChange 方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:06 26 4
gpt4 key购买 nike

我的代码中有一个首选项 Activity 。我想在用户更改 ListPreferences 中的单选按钮时 toast 。我使用了这段代码,但它不起作用。 :(

public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}

public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {

ListPreference listPreference = (ListPreference) findPreference(key);
listPreference.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;
}
});
}
}

我的问题是什么?

最佳答案

将您的 onCreate 代码更改为:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
}

您没有将 registerOnSharedPreferenceChangeListener 添加到 PrefsActivity Activity 。

关于android - Listpreferences 更改时不调用 onPreferenceChange 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13667088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com