ListViewでArrayAdapterを使用しています。
ArrayListをArrayAdapterに設定しているときに、そのすべてのオブジェクトが再作成されるのか、それとも単に参照するのか、本当に理解できません。
何らかの理由で、リストビューでも同じであると想定される同じオブジェクトは、現在のオブジェクトが他のオブジェクトのクローンであるかのように、プロパティの変更の影響を受けません。
誰かがそれをクリアしてくれませんか?
を作成する方法によって異なりますArrayAdapter
。
配列を受け取らない、またはList
パラメーターとして使用しないバージョンのコンストラクターを使用すると、各アダプターインスタンスが維持する新しいリストが作成されます。次のいずれかのバージョンでアダプタを作成する場合:
ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
次に、同じ外部リストを複数のアダプターに提供し、データセットを1回だけ変更できます。この場合、アダプターはリストを参照するだけで、データをコピーしないためです。
どちらの場合も可能です。ここでは、2番目のケースがリストビューの最適化にどのように役立つかを説明します:http: //developer.android.com/training/improving-layouts/smooth-scrolling.html