0

上で行われたときに知っています。は、どのように私はCustomAdapterを使用してGridViewコントロールを持っている、と私は配列リスト(サイズ= 20)を持っている「getViewメソッド()は、」ArrayAdapter

adapter.notifyDataSetChanged(); - getView()と呼び出すと、それ以上のことが呼び出されています(私はそれについて何もしていないことを理解しています)。しかし、私はCustomAdapterクラスの変数done==falseを持っている、と私は、(後に20回、あるいは50回)ワーキング行われる真一度getView()にそれを変更したい にはどうすればgetView()が行われているものを一度来てコントロールすることができますか? 私は、この変数をtrueに変更します。どこに置きますかdone=true

*最後getView()コールはあなたがそれを行うことができなくなりますposition==19

+0

Adnroidドキュメントは言う: ビューが膨張し、親ビュー(GridViewコントロール、リストビュー...)あなたが膨らま使用しない限り、デフォルトのレイアウトパラメータを適用します(int型、android.view.ViewGroup 、boolean)を使用してルートビューを指定し、ルートへの添付を防止します。 –

+0

それはそれはあなたのグリッドを埋めるようrequestLayoutがあなたのGridViewに繰り返し呼び出されている可能性も、これらの余分な測定とレイアウトを避けるために、あなたのレイアウトビューのあなたがすることができる最適化のためのチェック渡します。 – petey

+0

は、なぜあなたはこの 'done'フラグが必要なのでしょうか? – petey

答えて

0

必要はありません!リストビューが更新さ として、それはgetViewメソッドは、() と呼ばれる順序や回数に絶対に保証はありません

をスクロールにチャイルズをです。

source

+0

しかし、それは私がすでにオーダーの保証がないことを知ってasked-ものではないですが、私はすでにコール数の保証がないことを知っています。しかし、最後に、この方法は正しく行われますか?まだJavaです。それが終わったら何が起こるのですか? – SHAI

+0

あなたが何をしようとしているのか分かりません。メソッドの最後に 'done == true;'を置くと、メソッドのこの呼び出しでtrueになり、終了した場合はアダプタのフィールドになります本当。 –

+0

私はそれを問題ではない後に偽に変更します。私はそれをtrueに変更する必要があります。 "getView()"の最後の呼び出しが(**回数後に)呼び出されます – SHAI

関連する問題