鑑於這種繼承樹爲什麼不能將ListPreference轉換爲首選項? (機器人)
java.lang.Object
↳ android.preference.Preference
↳ android.preference.DialogPreference
↳ android.preference.ListPreference
當我嘗試做
myListPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
我得到這個編譯錯誤:
The method setOnPreferenceClickListener(Preference.OnPreferenceClickListener) in the type Preference is not applicable for the arguments (new OnPreferenceClickListener(){})
此外,當我嘗試
myListPreference = getPreferenceManager().findPreference(DISPLAY_MESSAGE);
Type mismatch: cannot convert from Preference to ListPreference
不是你想投的偏好到ListPreference?繼承只有一種方法 – panini
@panini,但如果我的運行時實例是一個ListPreference,那麼我應該可以downcast – likejiujitsu
是的,但編譯器不知道你的運行時實例是一個ListPreference,它只能看到PreferenceManager# #findPreference()返回一個偏好。如果你想要,你可以明確地施放它。 – panini