首页 > 怎么把网络获取到的数据传递到handleMessage()中去?以便更新listview

怎么把网络获取到的数据传递到handleMessage()中去?以便更新listview

如题,网络获取到数据,听说只能在handleMessage()中更新数据源和刷新listview,才不会导致adapter已更新而listview没有收到通知的异常?


额 没看明白 建议上代码


接收到网络数据后,利用handler发送Message对象,再重写handleMessage()方法接收,在该方法中设置listview的adapter。希望有帮到你。


注意setListnotifyDataSetChanged都在主线程调用。如果setList()有耗时操作,建议把异步线程处理完数据,再setList

BaseAdapter adapter;
...

// 网络请求回调时,调用此方法
runOnUiThread(new Runnable() {
            @Override
            public void run() {
                
                List<Data> list = ...
                
                adapter.setList(list);
                adapter.notifyDataSetChanged();
            }
        });
【热门文章】
【热门文章】