android listview 删除item 刷新 notifyDataSetChanged()失效问题
问题:在item点击删除后,调用了adapter.notifyDataSetChanged();刷新,不起效果
原因:数据库数据此时已经删除了,但是adpter里的数据并没有删除,所以把adpter里的数据集arraylist里的那一数据删掉才行
解决:代码:
ArrayList
在list_schedule.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
// view:是你点击的Listview的某一项的内容,来源于adapter。如用((TextView)arg1).getText(),可以取出点击的这一项的内容,转为string类型。
// position:是adapter的某一项,如点击了listview第2项,而第2项对应的是adapter的第2个数值,那此时position的值就为1了。 如对应adapter的第3个数值,那此时position的值就为2了。
// id:id的值为点击了Listview的哪一项对应的数值,点击了listview第2项,那id就等于1。
public void onClick(DialogInterface dialog, int which) {
//省略部分代码
mData.remove(position);
adapter.notifyDataSetChanged();
}
}
参考文章: http://blog.csdn.net/heng615975867/article/details/8743557
view——————是你点击的Listview的某一项的内容,来源于adapter。如用((TextView)arg1).getText(),可以取出点击的这一项的内容,转为string类型。
position————是adapter的某一项,如点击了listview第2项,而第2项对应的是adapter的第2个数值,那此时position的值就为1了。
如对应adapter的第3个数值,那此时position的值就为2了。
id———————id的值为点击了Listview的哪一项对应的数值,点击了listview第2项,那id就等于1。
更多相关文章
- Android开发——(二)运行你的APP
- android从一个app点击启动或者唤醒另一个app
- android studio中xml文件报错: URI is not registered的解决办法
- Android点击事件分发流程
- Android(安卓)Studio中读取文本文件内容方法
- android相机Camera.Parameters所有的参数值
- android中get方式和post方式提交数据到服务器的区别
- Android(安卓)Studio “Cannot resolve symbol” 解决办法
- android在singleInstance的Activity,点击home键。