这是我更新listview的代码
Handler handler = new Handler(){
List> listItemx = new ArrayList>();
public void handleMessage(android.os.Message msg) {
if (msg.arg1 == 0X456) {
listItemx = (List>) msg.obj;
SimpleAdapter simpleAdapter = new SimpleAdapter(getActivity(), listItemx, R.layout.weather_simple_item,
new String[]{"city", "lowtemp", "hightemp", "week", "curTemp", "type", "fengli", "aqi"},
new int[]{R.id.city, R.id.lowtemp, R.id.hightemp, R.id.week, R.id.curTemp, R.id.type, R.id.fengli, R.id.aqi});
ListView list = (ListView) getView().findViewById(R.id.chat_weathers);
// 为ListView设置Adapter
list.setAdapter(simpleAdapter);
simpleAdapter.notifyDataSetChanged();
}
}
};
求大神啊
都没看到你添加数据的逻辑,你只是把listview和adapter绑定了下,原来的数据当然没有了。
setadapter()是listview绑定适配器,notifydatasetchanged()是刷新listview里面的数据,在adapter里面写个public void setData(参数 ){}刷新的时候adapter.setData(数据);adapter.notifydatasetchanged();就ok了
添加新数据的时候 你看看你集合里面的数据封装是否正确