我需要动态设置/取消设置侦听器以响应Preference CheckBox用户设置更改。
我看到的一种方法是使用onSharedPreferenceChanged()并检查该复选框的密钥。
但不知怎的,这对我来说效率低下。我正在考虑在从PreferenceActivity
派生的类中设置某种监听器的方向。也许是onContentChanged()?
您会推荐哪种方法?为什么?
你能指出一个样本工作代码吗?
答案 0 :(得分:4)
您应该实施OnSharedPreferenceChangeListener
。然后设置一个监听器来捕获关键变化:
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
您应该能够检索已检查的更改:
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key)
{
}
答案 1 :(得分:0)
这是documentation。使用XML文件,您可以设置在单击窗口小部件时要执行的方法。设置android:onClick = foo
将在单击窗口小部件时执行方法foo
,并将参数View v
,v
作为已单击的视图传递给它。