目的:想实现一种效果,点击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并改变了它的背景等其他属性后调用:
这样数据刷新而不是整个页面的刷新!