1

さまざまなレイアウト (つまり、見出しとクリック可能なアイテム) を持つ行に対応するカスタム ListView を作成しています。BaseAdapter を介して Adapter を拡張するカスタム アダプタ クラス間に特定の違いはありますか? どちらの場合も、同じメソッド (getItem、getView など) をオーバーライドする必要があるようです。パフォーマンスの違いはありますか? または、super.method() を呼び出すと、実装の一部が実行されますか? BaseAdapter が Adapter のサブクラスであることは理解していますが、そこから得られる追加機能は何ですか?

乾杯、ルーク。

4

1 に答える 1

5

どちらの場合も、同じメソッド (getItem、getView など) をオーバーライドする必要があるようです。

BaseAdapterインターフェイスの完全な実装を作成するのではなく、から継承する場合は、実装する必要のあるメソッドが少なくなりAdapterます。たとえば、BaseAdapterハンドルregisterDataSetObserver()unregisterDataSetObserver()あなたのため。

パフォーマンスの違いはありますか?

通常はありません。

Adapter が BaseAdapter のサブクラスであることを理解しています

絶対違う。Adapterクラスではなくインターフェースです。BaseAdapter実装しAdapterます。

しかし、そこからどのような追加機能を得ることができますか?

はインターフェースAdapterであるため、から「追加機能」を取得することはありません。Adapter

于 2012-12-15T23:47:13.530 に答える