ListView从网络逐条刷新数据, 如何按刷新前的顺序排列新数据

ListView的每一行都需要单独发一个网络请求.

我原本的想法如下, 问题在注释处:

for(i=0;i<list.size();i++){
    query(Xxx xxx, new HttpCallbackListener(){
        @Override
        public void onHttpSuccess(String response){
            ...
            //原本打算list.get(i).setX(x); 但是非final的i值无法传到这里.final的i值又不能循环.
        }
    }
}
adapter.modifyData(list);

大概根本不该如此实现? 该如何实现呢, 请给我一个思路, 谢谢

另外我在尝试自己组合一些功能时, 经常写出这些两相矛盾的情况, 请问我该在什么方向上补习呢

阅读 2.3k
1 个回答

建议使用 Collections.sort 对 List 进行重排序,这样可以让你的排序规则和序号进行分离,更好理解也更容易实现。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题