ListView がすべてのビューをリサイクルすることを決定した時期を理解するのに苦労しています。私はいくつかのレイアウトを変更し、その後アニメーションを再生する 2 つの異なる ListViews を持っています。私の最初の ListView ではこれは正常に機能しますが、変更しようとしている行だけが実際に影響を受けていますが、他の ListView ではすべての行が影響を受け、ビューが再利用されています。
これにはかなりの数のクラスが関係しているため、実際にコードを投稿することはできません。私はそれを分解しようとしましたrequestLayout()
が、行の子孫ビューの 1 つを呼び出した後、行を再利用していることに気付きました。しかし、私の他の ListView では同じことを行い、まったく呼び出されません。
私のコードのどこにnotifiyDatasetChanged()
も呼び出されておらず、他のビューも変更していません。
ListView が実際にいつビューを再利用する必要があるかを調べようとしています。
ps。私は2.3.3を使用しています。そして、私はsetHasTransientState()
4.1で知っています。でも残念ながら使えません