Android PullToRefresh 长按点击删除
来源:互联网 发布:centos gcc 升级 编辑:程序博客网 时间:2024/04/30 13:14
在前面两篇文章已经介绍了如何使用PullToRefresh方法以及Item的点击事件,
文章1:PullToRefresh的使用方法http://blog.csdn.net/u012721519/article/details/51108406
文章2:ItemClicker的点击事件http://blog.csdn.net/u012721519/article/details/51112560
本文主要介绍长按点击删除功能的实现。
1:长按弹框事件
/** * 长按Item事件 */ mPullRefreshListView.setOnItemLongClickListener(new OnItemLongClickListener() { public boolean onItemLongClick(AdapterView<?> arg0, View view, final int location, long arg3) { Toast.makeText(MainActivity.this, mListItems.get(location - 1).toString(), Toast.LENGTH_LONG).show(); mDelId = location - 1; showDialog(); return false; } });
以上具体讲解请看前面文章http://blog.csdn.net/u012721519/article/details/51112560
2、删除事件
/** * 删除Item */ private void deleteItem() { int size = mListItems.size(); if (size > 0) { mListItems.remove(mDelId); mAdapter.notifyDataSetChanged(); } }
(1)mDelId是用于记录当前Item位置,以便删除相应的Item,该变量在前面已经定义
private static int mDelId = 0;
(2)remove函数系统已经定义,源码如下
public E remove(int location) { if (location >= 0 && location < size) { Link<E> link = voidLink; if (location < (size / 2)) { for (int i = 0; i <= location; i++) { link = link.next; } } else { for (int i = size; i > location; i--) { link = link.previous; } } Link<E> previous = link.previous; Link<E> next = link.next; previous.next = next; next.previous = previous; size--; modCount++; return link.data; } throw new IndexOutOfBoundsException(); }
(3)注意使用notifyDataSetChanged方法用于Item的动态更新,源码如下。
public void notifyDataSetChanged() { super.notifyDataSetChanged(); mNotifyOnChange = true; }
3、Demo效果图如下
图一 删除Jimmy3 Item 图二 删除后效果
Good luck!
Write by Jimmy.li
0 0
- Android PullToRefresh 长按点击删除
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
- Android PullToRefresh Item长按点击弹框
- GridView 长按编辑,点击删除
- Android item长按删除
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- RrecyclerView自定义点击长按添加删除修改
- 【记录】长按listview弹出删除选项,点击删除记录删除
- listView中的item长按删除,长按事件与点击事件冲突
- android: 长按删除listview的item
- android studio recyclerview长按删除
- Android GridView长按拖动,删除
- android button实现长按连续点击效果
- Android ListView长按事件触发点击事件
- Android 按钮的长按 和点击事件
- springmvc返回json的三种方式
- Matlab size函数
- Hibernate环境搭建步骤
- c#实现内存映射文件共享内存
- VS2013 + WDK7.6搭建驱动开发环境
- Android PullToRefresh 长按点击删除
- 算法1.1 最大公约数(欧几里得)&判定素数&计算平方根(牛顿迭代法)
- 栈区与堆区
- C++之构造器和析构器
- Ubuntu Server 安装 FTP 服务 和 SSH 服务
- LeetCode 264. Ugly Number II(丑数字)
- laravel小知识
- swift学习笔记之基本数据类型-控制流
- linux上ln命令详细说明