我之前已經多次擴展了BaseAdapter和ArrayAdapter類,但是我一直有一個關於BaseAdapter的嘮叨問題:爲什麼沒有從android.widget.adapter接口的一些方法,如getView(常識當然會說你需要這個)導致編譯器錯誤,而其他人,如hasStableIds不會導致任何這樣的錯誤?我知道BaseAdapter從ListAdapter繼承了這些方法,它們從Adapter中繼承它們,但爲什麼只有一對需要實現,而另一些卻不需要? android文檔不包含那些在BaseAdapter文檔中特別指定的調用,那麼如果只有某些需要實現的地方,那麼對於那些需要擴展BaseAdapter的特定調用的地方,哪裏有任何指示?我知道我錯過了一些東西,無論是我對oop原理的理解還是我閱讀文檔的能力。感謝您的見解!爲什麼BaseAdapters的自定義子類只需要從Adapter接口實現一些抽象方法?
注:編譯器錯誤是:
MyAdapter is not abstract and does not override abstract method getItemId(int) in Adapter
,我已經找到了需要的方法是:的getItem,getCount將,getItemId和getView
秒注意:這些都是適配器所有的抽象方法,和ListAdapter。
謝謝馬克!我現在覺得很傻,因爲我設法忽略了BaseAdapter文檔中的hasStableIds調用(和其他實現)。真正的facepalm時刻。感謝您爲我清理! –