我遇到一种情况,每当数据库更新时,我都想使用BaseAdapter更新自定义列表视图.我曾尝试在此自定义列表上调用invalIDate(),但它没有用,类似地,我什至尝试过用计时器在一段时间后更新列表,这也不起作用.请让我知道可能的解决方案.
更新:
这就是我制作自定义列表视图的方式
li= (ListVIEw)findVIEwByID(R.ID.ID_lv_row); colorDrawable divcolor = new colorDrawable(color.DKGRAY); registerForContextMenu(li); li.setdivIDer(divcolor); li.setdivIDerHeight(2); li.setAdapter(new FrIEndspositionAdapter(this));
解决方法:
InvalIDate仅用于重新绘制视图,您必须告知List适配器(BaseAdapter)数据集已更改.
数据更改时,将新的数据集分配给适配器,然后再调用notifyDataSetChanged()…
为了使notifyDataSetChanged()功能正常,必须更改适配器数据.请记住,更改的原始数据不会自动反映到适配器.
//here i retrIEve the new List, named "beans"Lista = (BeanList) result.getDataObject();Vector<Bean>beans = List.getBeanList();((Beanlistadapter)listadapter).syncdata(beans);((Beanlistadapter)listadapter).notifyDataSetChanged();//Now the syncdata methodpublic voID syncdata( List<PINPropIEdad> newData ){ for(Object o : newData){ add(o); }}
总结 以上是内存溢出为你收集整理的Android:随机更新自定义列表视图的可能解决方案全部内容,希望文章能够帮你解决Android:随机更新自定义列表视图的可能解决方案所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)