【发布时间】:2012-12-02 06:50:44
【问题描述】:
我的代码中有一个首选项活动。 当用户更改 ListPreferences 中的单选按钮时,我想显示祝酒词。 我使用了这段代码,但它不起作用。 :(
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;
}
});
}
}
我的问题是什么?
【问题讨论】:
-
您应该将此新信息编辑到您现有的问题中:Show a Toast when user change setting in preferences activity,而不是创建一个新问题。请参阅FAQ,了解如何让更多人关注您的问题。
-
@Reza_rg : 你有 try
Log.v("ListPreference", "onPreferenceChange");看 onPreferenceChange 是否在 logcat 中被调用? -
@imrankhan 我现在试过了,似乎 onPreferenceChange 没有被调用。我现在该怎么办?
-
@Sam 感谢您的通知,下次我会记住的。
-
@Reza_Rg :然后首先将问题标题更改为
onPreferenceChange而不是 Toast 没有显示,因为当调用 onPreferenceChange 方法时,Toast 会自动显示 toast 的代码是正确的
标签: android preferences toast