目的:想实现一种效果,点击gridview或者listview某个item时,希望这个item的图片变化或者内容变化下。
在点击事件中可获得点击的item以及它在gridview、listview中的position,可以通过设置这个item的属性来改变gridview、listview中的数据源,但是如果每次点击都调用gridview.setADapter(xxx)方法的话,数据相当于重新加载了一遍,会刷新一遍,这样就很难达到我们定位所选择的那个子item上了!有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新gridview、listview。
SimpleAdapter sa = (SimpleAdapter)gridview.getAdapter();
sa.notifyDataSetChanged();
所以,我们可以这样解决这个问题:在点击事件中获得所点击的item并改变了它的背景等其他属性后调用:
这样数据刷新而不是整个页面的刷新!
本文介绍如何在点击ListView/GridView中的特定项时,仅更新该项而不重新加载整个适配器,通过调用适配器的notifyDataSetChanged()方法来实现数据刷新,避免页面刷新带来的性能损耗。
434

被折叠的 条评论
为什么被折叠?



