鉴于此继承树
java.lang.Object
↳ android.preference.Preference
↳ android.preference.DialogPreference
↳ android.preference.ListPreference
当我尝试
时myListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
我收到了这个编译错误:
方法 setOnPreferenceClickListener(Preference.OnPreferenceClickListener)in 类型Preference不适用于参数(new OnPreferenceClickListener(){})
当我尝试
时myListPreference = getPreferenceManager().findPreference(DISPLAY_MESSAGE);
类型不匹配:无法从首选项转换为ListPreference
答案 0 :(得分:1)
这两个问题与无关。
问题1:
您可能缺少import语句。请改为new Preference.OnPreferenceClickListener()
或添加import Preference.OnPreferenceClickListener
。
问题2:
你不能隐含地向上转换一个对象,你只能隐式地向下转换。您必须执行此操作myListPreference = (ListPreference)getPreferenceManager().findPreference(DISPLAY_MESSAGE);
供将来参考:
SubClass obj = getSuperClass(); // Not Valid, must cast
SuperClass obj = getSubClass(); // Valid