17

カスタム リストがあり、表示されるまでに数分かかります。問題の場所を確認しようとしたところ、リストに項目が 1 つしかない場合でも、メソッド getCount() が 5 回呼び出され、getVIew() が 1 回呼び出され、次に getCount() が呼び出されることがわかりました。より多くの時間に呼び出されます。全体で getCount() が 7 回呼び出されています。それは理にかなっていますか?

ありがとうございました!

4

4 に答える 4

8

ここでは、メソッドへのさまざまな内部呼び出しを確認できますAdapter.getCount()

ただし、このメソッドが呼び出される方法を制御できないことに注意してください。

複数回呼び出される可能性があるため、可能な限り高速に保つ必要があります。

于 2012-11-26T10:28:58.923 に答える
2

getCount()はいつでもApp-USERできる(ストレージにデータを追加できる)ため、何度も呼び出されます。そのため、 (要素の総数)を返します。update its list(storage).size()

于 2013-03-22T06:02:58.150 に答える
0

アダプターgetCount()メソッドは、次の場合に呼び出されます。

1) アダプターをリスト ビュー/グリッド ビューに設定する場合。

notifyDataSetChanged 2) Adapterを呼び出すとき。

したがって、コードをチェックインしてください。上記のケースをより多くの時間または再帰的に実行している可能性があります..

于 2014-09-15T17:35:34.133 に答える
0

検索時にアダプターを更新する検索ボタンが必要です。そのメソッドは、ビューを描画するために複数回呼び出されます。そのメソッド内に がある場合、setAdaptergetCount度も呼び出され、最終的に 0 が返され、ビューは塗りつぶされません。

于 2015-08-30T09:17:53.447 に答える