ArrayAdapter のビューにアクセスできるようにしたい:
public View getView(int position, View convertView, ViewGroup parent)
これにアクセスする方法がわかりません:
View myView = myArrayAdapter.getView(myPosition, myView, ?);
ViewGroup の親を取得する方法がわかりません。
ArrayAdapter のビューにアクセスできるようにしたい:
public View getView(int position, View convertView, ViewGroup parent)
これにアクセスする方法がわかりません:
View myView = myArrayAdapter.getView(myPosition, myView, ?);
ViewGroup の親を取得する方法がわかりません。
アップデート:
ビューを返すときに使用される背景リソース/色を保持するデータ セット内のデータにフィールドを追加してみてください。
holder.background = dataSet.get(position).getBackground()
このホルダーのことで私が何を話しているのかわからない場合は、アンドロイドでリストビューを「スムーズに」ロードする方法を確認してください
年:
アダプターを含むListViewが親の ViewGroupだと思います。
とにかく、ArrayAdapter を含む ListView を使用しないのはなぜですか? ListView は、アダプターではなく Views のコンテナーであり、データ コレクションのみを保持し、ListView が要求したときに必要に応じてビューを作成して返します (fe、スクロール時)。位置 X のビューをフェッチできたとしても、パラメーターとして渡す convertView はListViewが保持および表示しているものではないため、機能しないと思います。
ListView では、任意の時点で最大 7 ~ 8 個のビューが膨張していることを考慮してください (正確な数はわかりません)。ListView が行うことは、アダプターのgetviewを呼び出してそれらを埋めることです。
つまり、単一の行 (単一のビュー) を更新するには、アダプターのデータ コレクションを更新する必要があります。次に、推測して、そのビューを ListView から取得して無効にしようとしますが、これがうまくいくとは思えません。
これらの概念は正しいと思いますが、間違っている場合は、誰かが私を修正してくれるとありがたいです.
一度に 1 つのビューだけを更新したいのはなぜですか?