我需要动态设置/取消设置侦听器以响应Preference CheckBox用户设置更改。
我见过的一种方法是使用onSharedPreferenceChanged()并检查该复选框的键。
但不知何故,这在我看来效率低下。我更多地考虑在派生的类上设置某种侦听器的方向PreferenceActivity
。也许onContentChanged()?
您会推荐哪种方法,为什么?
你能指出一个示例工作代码吗?
我需要动态设置/取消设置侦听器以响应Preference CheckBox用户设置更改。
我见过的一种方法是使用onSharedPreferenceChanged()并检查该复选框的键。
但不知何故,这在我看来效率低下。我更多地考虑在派生的类上设置某种侦听器的方向PreferenceActivity
。也许onContentChanged()?
您会推荐哪种方法,为什么?
你能指出一个示例工作代码吗?
你应该实施OnSharedPreferenceChangeListener
. 然后设置一个监听器来捕捉关键变化:
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
您应该能够检索检查的更改:
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key)
{
}
这是文档。使用 XML 文件,您可以设置单击小部件时要执行的方法。设置android:onClick = foo
将在单击小部件时执行该方法foo
,并将参数传递给它View v
,v
即被单击的视图。