主要问题是List数据指向的堆内存,引用指向的堆内存要不变,才行。
比如,更新列表Orders(创建一个临时列表a):
a = orderDal.getOrderListByCustomerCode(customer_code);
Orders.clear();
if(a!=null){
for (int i = 0; i < a.size(); i++) {
Orders.add(a.get(i));
}
adapter.notifyDataSetChanged();
}
adapter内非list数据更新时,发现数据改了,也更新不了。后来我把它改成list数据(创建新的list)传给adapter,更新成功。