protected void onResume() {
mylist.clear();
BmobQuery<Acti> actis=new BmobQuery<Acti>();
actis.addWhereEqualTo("classId", classid);
actis.addWhereEqualTo("isexit", 1);
actis.findObjects(ShowclassActivity.this, new FindListener<Acti>() {
@Override
public void onSuccess(List<Acti> arg0) {
actilist=arg0;
for(int i=0;i<arg0.size();i++){
Acti act=arg0.get(i);
HashMap map=new HashMap();
map.put("name", act.getName());
map.put("num",i+1);
mylist.add(map);
}
adapter=new SimpleAdapter(ShowclassActivity.this, mylist,
R.layout.actilist, new String[]{"name","num"}, new int[]{R.id.actname,R.id.actnum});
clalist.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
list被清空後有一些耗時的操作,calist才重新綁定新的list,如果在這之前我點擊item,list改變了但是在界面上,依舊顯示原來的list,所以會報錯啦,怎麼改呢?So easy啦,修改mylist之後,在耗時操作之前,不要讓原來的數據顯示在listview上面了,只需要在
mylist.clear();
後面加一行代碼:
clalist.setAdapter(null);
完美!
本來,一直找不着錯誤的我,打算抱着僥倖的心理,提交課設的,一直祈禱着演示的時候不要有這種錯誤,現在,