Gridview 删除某项item,界面及时刷新的问题
2015-03-02 23:46
274 查看
很多同学说用notifyDataSetChanged();方法不好使,网上也有很多人说保证数据源是同一个等,很笼统,刚开始我也云里雾里,后来终于想明白了,由于是工程里的一个小demo就贴一部分源代码给大家看看。先贴码,在讲解。
这里大家注意这几个变量
items_from_sql这个变量就是我们的数据源,他其实是从数据库得到数据,然后放入adapter里,
AllAppInfo是我自定义的一个数据类型
这个方法我感觉关键是利用一个迭代器当匹配到与他名字相同的items_from_sql中的某一项(就是我们点击的那个item里面装的信息)时,装入List<AllAppInfo>,然后利用removeall函数去除掉我们点击的信息,再调用notifDataSetChanged就可以啦。。。。
本人刚开始学习安卓,有些不对的地方大家批评指正。。。
//删除项目 private void deleteItem(AdapterView<?> parent, int position) { List<AllAppInfo> tempGroups = new ArrayList<AllAppInfo>(); if (items_from_sql != null && items_from_sql.size() > 0) { Iterator<AllAppInfo> iterator = items_from_sql.iterator(); while (iterator.hasNext()) { AllAppInfo temp = iterator.next(); // 1、从当前界面中删除选中的消息 if (temp.getAppName() == items_from_sql.get(position - 4) .getAppName()) { tempGroups.add(temp); } } } items_from_sql.removeAll(tempGroups); // checkNumber = checkNumber - tempGroups.size(); // Log.i("life", "已选中的个数:" + checkNumber); setDataChange(); } //删除项目 public void setDataChange() { hAdapter.notifyDataSetChanged(); }
这里大家注意这几个变量
items_from_sql这个变量就是我们的数据源,他其实是从数据库得到数据,然后放入adapter里,
AllAppInfo是我自定义的一个数据类型
这个方法我感觉关键是利用一个迭代器当匹配到与他名字相同的items_from_sql中的某一项(就是我们点击的那个item里面装的信息)时,装入List<AllAppInfo>,然后利用removeall函数去除掉我们点击的信息,再调用notifDataSetChanged就可以啦。。。。
本人刚开始学习安卓,有些不对的地方大家批评指正。。。
相关文章推荐
- GridView删除,更新后不能立刻刷新的问题解决方案
- 在adapter中动态删除item,并刷新界面。
- UpdatePanel控件中使用GridView时,RowCommand事件执行删除后,GridView不刷新问题。
- android listview 删除item 刷新 notifyDataSetChanged()失效问题
- 在使用Imagepicker时候,点击recyclerView的item,进入删除界面,返回结果为空的问题
- 关于ListView删除item后 界面数据显示不对问题
- android中gridView下拉刷新时item频繁刷新的问题
- 今天解决了DataGrid无刷新全选删除问题。
- 新写的一个使用ASP.NET AJAX中的UpdatePanel控件实现GridView的无刷新删除,更新,添加,查询!
- 在做GridView删除单条数据的时候,遇到的问题
- 用JavaScript页面不刷新时全选择,全删除(GridView)
- 页面及时刷新验证码问题
- 【转】asp.net2.0中gridView的删除确认问题
- GridView全选并删除所有列的问题
- .NET----GridView删除问题[转]
- 用JavaScript页面不刷新时全选择,全删除(GridView)
- GridView提交/插入数据/删除信息后字体变大问题的解决方法
- 3-(E-Teller)关于删除记录后不刷新的问题
- GridView 选中CheckBox 删除记录的问题
- gridview 无刷新全选,删除。(来到网络)