Android中ListView通过ContextMenu删除当前点击的一行数据
来源:互联网 发布:马特达蒙电影知乎 编辑:程序博客网 时间:2024/05/21 11:06
在我们实际开发中经常会用到listview组件,对listview里面的没一个item添加内容,内容的来源无非就是本地数组或者数据库,通过适配器先是到listview中。当我们需要对listview里面的数据进行动态增加和删除时,就需要费一番工夫了。
简单来说,我这里分为菜单类型和item控件类型。菜单类型时长按listview的item会弹出一个contextMenu,然后我们可以选择删除菜单删除这个item里面的内容。而setOnCreateContextMenuListener(this)这个方法是吧上下文菜单添加给这个listview,所以当我们长按这个listview是会出现这个菜单,但是我们怎么知道用户实际长按的是listview中的哪一行数据了,这里我们用到了AdapterContextMenuInfo,这个类可以帮助我们定位用户实际按的是那条数据。
@Override
public boolean onContextItemSelected(MenuItem item) {
final AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
final int id = (int) info.id;
if (-1 == id) {
super.onContextItemSelected(item);
}
switch (item.getItemId()) {
case DELETE:
mItems.remove(id);
mAdapter.notifyDataSetChanged();
break;
case ADD:
break;
}
return super.onContextItemSelected(item);
}
listview的更新可以在点击删除后采用message的方式发送给handler,通知Handle进行更新。
case 2:
webSite.remove(id);
Message message = new Message();
message.what = ITEM_REFRESH;
mHandler.sendMessage(message);
break;
如果listview中的每一项item中有比如删除等组件式,对其的处理放在适配器的getView()方法里就可以了。
- Android中ListView通过ContextMenu删除当前点击的一行数据
- Android中ListView的Adapter和ContextMenu
- 在ContextMenu中添加/删除ListView的Item
- 当长时间点击ListView时弹出contextMenu如何确定被点击listView中item的位置
- 在ContextMenu中添加/删除ListView…
- Android ListView上的ContextMenu
- jqury 获取表格中点击删除图标后要删除一行的元素数据
- Android中RecyclerView的item中控件的点击事件添加删除一行、上移下移一行的代码实现
- Android中RecyclerView的item中控件的点击事件添加删除一行、上移下移一行的代码实现
- 通过ContextMenu上下文菜单获取ListView中被选中的条目item的信息
- angular中删除表格数据的一行
- android中关于上下文菜单ContextMenu数据值的转递
- ListView,点击每一个Item,如何获取当前Item的数据?
- android listView 删除动画 当前Item 删了,但是动画总是从最后一行执行
- Android ListView Item ContextMenu
- Android中ContextMenu的使用
- Android中ContextMenu的使用
- Android中ContextMenu的使用方法
- How to avoid the error "The file 'xyz.mdf' cannot be overwritten. when deploying
- 快速掌握activity的生命周期
- 如何编写优质的需求文档
- ios学习--iphone单例模式(singleton)的实现
- linux下usb转串口设置
- Android中ListView通过ContextMenu删除当前点击的一行数据
- htmlpaser打造个性化的爬虫程序 第二天
- WCF开发实战系列一:创建第一个WCF服务
- JS 判断图片宽高
- PHP中用DOMDocument新建XML文件
- 深入探索C语言之结构体(struct)
- application
- poj 3687 Labeling Balls 拓扑排序
- 从网络获取图片与网页