0

は(コンストラクターで初期化された)ResourceCursorAdapterから派生しCursorAdapter、追加します。mInflaterから派生したカスタム アダプターの例を複数見たことがありますSimpleCursorAdapter(それは に基づいていますResourceCursorAdapter) myInflater

派生クラスでも使用できるように、代わりにmInflater作成されなかった理由はありますか?protectedprivate

更新:私の質問を明確にするために。

まず、なぜmInflaterが protected にならなかったのかが気になります。ResourceCursorAdapterまたはそのサブクラスSimpleCursorAdapterを基本クラスとして使用する場合に非常に便利であるため、設計中にそれを行う理由は何ですか? を拡張することにより、最終的にカーソルアダプターを実装しましたCursorAdapter。とにかく、ただの気まぐれで、何か重要なことを見落としているかもしれません...

ViewHolderテクニックを使いたい。newViewそのため、 (ビュー ホルダーを作成し、新しく作成したビューにアタッチする) およびbindView(アタッチされたビュー ホルダーを取得し、カーソルからデータを入力する)をオーバーライドしたいと考えています。メソッドの実装ではnewView、インフレータを呼び出す必要があります。を使用している場合は、サブクラス コンストラクターによって初期化された を とまったく同じ方法でSimpleCursorAdapter定義します( をわずかに最適化するため)。そのため、スーパークラスがサブクラスでも使用できると便利です (つまり、サブクラスで再度定義する必要はありません)。これが私の質問の核心です。mInflaterResourceCursorAdapternewViewmInflater

4

1 に答える 1

1

ResourceCursorAdapterあなたのために膨らませる特別なアダプターです。このため、そのサブクラスにはインフレータは必要ありません。

レイアウトをインフレートする必要がある場合、これResourceCursorAdapterはおそらく最適な選択ではありません。

于 2013-08-01T08:42:30.300 に答える