0

请看一下我的代码,当我更新它时,它会出错。

//definition
private ArrayList<HashMap<String, Object>> item;
private SimpleAdapter listItemAdapter;
//initialization

listItemAdapter = new SimpleAdapter(this, item,R.layout.list_item, 
new String[] { "name", "id", "houseNum","meterValue" }, 
new int[] { R.id.item_name,R.id.item_id, R.id.item_house_num,R.id.item_meter_value });
readingMeterList.setAdapter(listItemAdapter);
...

//definition
HashMap<String, Object> map = Activity.this.item.get(index);
map.put("meterValue", String.format("%.2f", meterValue));
item.set(index, map);
listItemAdapter.notifyDataSetChanged();

错误信息是:点击这里查看大图

任何知道如何解决这个问题的人请帮助我,谢谢。

4

1 回答 1

2
listItemAdapter.notifyDataSetChanged();

这段代码应该放在runOnUiThread() 中。您只能从 UI 线程调用受 UI 影响的方法。

runOnUIThread(new Runnable(){
// override method
// and put your code there.
})
于 2013-06-03T02:03:05.443 回答