私はこれを検索し、多くのことを試しましたが、時々解決したように見えましたが、そうではありませんでした
これは私のアプリケーションの動作です:
1. AsyncTask で Web サーバーからフェッチされ、ArrayList に格納された最初の 10 個のアイテムを含む ListView。
2. この ArrayList を Adapter に設定します
3. onScroll、最後のアイテムに到達した場合、さらに 10 個のアイテムをフェッチし、ArrayList に追加するなど
問題:
すべてのアイテムに感謝するボタンがあり、ArrayList の特定のアイテムのデータから初期カウントが取得されます。
10にしましょう
これはアクション アイテムであるため、アダプタの getView ()にこのボタンのonClickListenerがありました。
onClick(){
//change the count to count+1 or change 10 to 11
}
これは機能しますが、リストをスクロールすると、このカウントはcount + 1 (11)を保持する代わりにcount (10)に戻されます。これは、アイテムが再作成されており、カウントを取得するために使用されているデータが古い 1 (10) である ArrayList からのものであるためです。これを機能させるには、サーバーのデータを更新し、それを取得して ArrayList に格納し、それを使用してcount + 1 (11)を取得する必要があります。
これを行う方法はありますか。アクションアイテムがクリックされるたびに新しいデータを提供するためにサーバーを呼び出すことができないためです。これは、ListView が再作成され、スクロールされたすべてのアイテムが失われるようなものになるためです。
ありがとうございました