Androidでカスタマイズされたものを作成するときadapter
、クラスを拡張してメソッドを実装するクラスを作成する必要があることがわかりました。ListView
ArrayAdapter
getView(..)
それはすべて問題ありませんが、メソッドの呼び出しと実行のシーケンスを知りたいです。つまり、コードのどのポイントでgetView()
が呼び出されていますか?
Androidでカスタマイズされたものを作成するときadapter
、クラスを拡張してメソッドを実装するクラスを作成する必要があることがわかりました。ListView
ArrayAdapter
getView(..)
それはすべて問題ありませんが、メソッドの呼び出しと実行のシーケンスを知りたいです。つまり、コードのどのポイントでgetView()
が呼び出されていますか?
ArrayAdapter の getView() が複数回呼び出されています....
このリンクを参照してください Android カスタム ArrayAdapter getView メソッドが複数回呼び出されました - 動的 TextView 値のリセット
Android ドキュメントから - Adapter オブジェクトは、AdapterView (この場合は ListView など) とそのビューの基になるデータとの間のブリッジとして機能します。アダプターは、データ項目へのアクセスを提供し、データ セット内の各項目のビューを作成する役割も果たします。
そのため、ListView が特定のデータ行を表示する必要があるときはいつでも、getView() メソッドを介してその位置のデータに対応するビューを提供するように関連付けられたアダプターに要求します。これは、画面上でビューを更新する必要があるときはいつでも発生する可能性があります (例: 作成/スクロール中など)。
アプリ開発者は、アダプターで具体的な getView() 実装を提供する限り、getView() が呼び出される正確な時点を気にする必要はありません。最適なパフォーマンスを得るには、メソッドが効率的であることを確認してください (サムネイルなどはバックグラウンド スレッドにロードする必要があります)。
getView(int position, View view, ViewGroup parent)
のために呼び出されます
List of Objects
使用する要素数の
getItem(int position)
私たちのリストの長さ
そのため、リスト全体にリストからのレイアウトとデータが割り当てられるまで、何度も呼び出されます。