私はこれまでに何度も BaseAdapter クラスと ArrayAdapter クラスを拡張してきましたが、BaseAdapter について常に 1 つの厄介な質問がありました。getView などの android.widget.Adapter インターフェースからいくつかのメソッドが存在しないのはなぜですか (当然の常識では、これが必要な場合) コンパイラ エラーを引き起こしますが、hasStableIds のような他のものはそのようなエラーを引き起こしませんか? BaseAdapter がこれらのメソッドを ListAdapter から継承し、ListAdapter が Adapter からこれらのメソッドを継承することは知っていますが、実装する必要があるのはいくつかだけで、他は実装しないのはなぜでしょうか? Androidのドキュメントには、BaseAdapterのドキュメントに特にこれらの呼び出しが含まれていないため、実装が必要な場合にのみBaseAdapterの拡張のためのこれらの特定の呼び出しが必要であることを示すものはどこにありますか? 私は何かが欠けていることを知っています、oop の原理を理解しているか、ドキュメントを読む能力があります。洞察をありがとう!
注: コンパイラ エラーは次のとおりです。
MyAdapter is not abstract and does not override abstract method getItemId(int) in Adapter
私が見つけた必要なメソッドは、getItem、getCount、getItemId、および getView です。
2 番目の注意: これらはすべて、Adapter および ListAdapter の抽象メソッドです。