我搜索了这个,并尝试了很多东西,有一段时间它似乎解决了,但它不是
这是我的应用程序行为:
1. ListView 的第一个 10 项从 AsyncTask 中的 Web 服务器获取,并存储在 ArrayList 中。
2.将此ArrayList设置为Adapter
3. onScroll,如果到达最后一项,再获取10个项目,添加到ArrayList等
问题:
每个项目都有一个按钮 to Thanks ,它的初始计数取自 ArrayList 中该特定项目的数据。
让它成为10
由于这是一个操作项,因此我在适配器的getView()中有一个用于此按钮的onClickListener。
onClick(){
//change the count to count+1 or change 10 to 11
}
这有效,但是当我滚动列表时,此计数设置回count (10)而不是保留count + 1 (11)。这是因为正在重新创建项目,并且用于获取计数的数据来自 ArrayList,它是旧的 1 (10)。为了完成这项工作,我需要更新服务器中的数据,将其取回并存储在 ArrayList 中并使用它来获取count + 1 (11)。
有没有办法做到这一点。因为每次单击操作项时,我都无法调用服务器为我提供新数据。因为这将像重新创建 ListView 一样,丢失所有滚动项目。
谢谢你