Android item长按删除功能

这个可以在Adapter里面写

一般写完之后都会调用

 public void removeItem(int pos){
    this.mDatas.remove(pos);
    notifyItemRemoved(pos);
  }

可是这样写的话,删除多次,会乱套,没有刷新

所以改这样子写

  public void removeItem(int pos){
    this.mDatas.remove(pos);
    notifyItemRemoved(pos);
    if(pos != mDatas.size()){ // 如果移除的是最后一个,忽略
      notifyItemRangeChanged(pos, mDatas.size() - pos);
    }
  }

PS:下面看下android 长按删除listview的item

首先要继承OnItemLongClickListener

public class Set_Music extends ListActivity implements OnItemLongClickListener{

然后设置权限:

getListView().setOnItemLongClickListener(this);

重写方法

public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String str = list.get(arg2).get("name");

删掉长按的item

list.remove(arg2);

动态更新listview

adapter.notifyDataSetChanged();

以上所述是小编给大家介绍的Android item长按删除,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2017-07-10

android RecyclerView实现条目Item拖拽排序与滑动删除

效果演示 需求和技术分析 RecyclerView Item拖拽排序::长按RecyclerView的Item或者触摸Item的某个按钮. RecyclerView Item滑动删除:RecyclerView Item滑动删除:RecyclerView的Item滑动删除. 实现方案与技术 利用ItemTouchHelper绑定RecyclerView.ItemTouchHelper.Callback来实现UI更新,并且实现动态控制是否开启拖拽功能和滑动删除功能. 实现步骤 继承抽象类ItemTo

Android使用Item Swipemenulistview实现仿QQ侧滑删除功能

大家都用过QQ,肯定有人好奇QQ滑动删除Item的效果是怎样实现的,其实我们使用Swipemenulistview就可以简单的实现.先看看我们项目中的效果: 使用的时候可以把Swipemenulistview作为一个library,也可以把Swipemenulistview的源码拷贝到我们的项目中来,使用步骤大致可以分为三步:1.在布局中配置:2.在Java代码中初始化配置:3.按钮点击事件的处理  1.在布局中配置 xml布局文件中只需要简单使用这个自定义的ListView就行了,需要注意的是

Android使用ListView批量删除item的方法

本文实例讲述了Android使用ListView批量删除item的方法.分享给大家供大家参考,具体如下: 利用CheckBox选中一个或多个item,最后批量删除它们. 程序运行效果图如下:   下面开始上码: (代码已更正,已解决滚动时紊乱的问题) package com.test.adapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;

thinkPHP批量删除的实现方法分析

本文实例讲述了thinkPHP批量删除的实现方法.分享给大家供大家参考,具体如下: html: <li> <a class="delete" href="__URL__/deleteSelected/navTabId/__MODULE__" target="selectedTodo" posttype="string" calback="navTabAjaxMenu" rel='ids'

Android中Listview点击item不变颜色及设置listselector 无效的解决方案

这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listselector,有一个默认的颜色,同理如果点击没颜色变化我们怎么设置listselector也不会变颜色的. 但是在我们的开发过程中,我们可能会碰到这样的问题listview点击不变颜色,总结了一下大概有这几种原因: 1.item的layout设置background颜色值,去掉背景颜色即可 2.listview中listselector属性的效果被覆盖了,比如列表的Item为一个占满单元格的I

Android 为ListView添加分段标头的方法

效果图: 我记得github上有一个类似的效果github类似效果 说一下实现这个效果的思路:在列表项中嵌入分段标头,然后根据需要显示或者隐藏分段标头,创建一个特殊的TextView,让其叠加在列表的顶部,当列表滚动到一个新的分段时,就更新其内容 创建列表布局 创建一个xml,随列表滚动的分段标头和列表顶部的固定分段标头复用这个布局文件 header.xml <?xml version="1.0" encoding="utf-8"?> <TextV

Android实现ListView异步加载的方法(改进版)

本文实例讲述了Android实现ListView异步加载的方法.分享给大家供大家参考,具体如下: @Override public View getView(int position, View convertView, ViewGroup parent) { ---- ViewHolder VH = null; ---- VH.mImageView.setTag(position); VH.mThumb.setImageDrawable(imageLoader.loadDrawable(pos

android基础教程之android的listview与edittext冲突解决方法

最近遇到一个关于android软键盘的问题.在ListView中每个Item中都有个EditText,在最后的几个Item中,EditText第一次点击界面还能向上弹出,正常显示, 但第二次点击时,软件盘就把最后的几个Item给正当住了.这样很影响用户体验的. 其实解决的办法只要想一下,我相信有经验的开发人员就能够想到,让软键盘在消失的时候让相应Item中的EditText消失焦点clearFouce():但是有个关键的问题, 就是在获得返回事件的时候,如果获得的事件不对那就不会达到想要的效果.

Android中ListView设置静态数据的方法

有的时候我们需要为一个listview设置固定的数据,下边就是如何设置静态的数据,之前先给大家看一看效果图: 布局文件listview 的主页面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="matc

使用批处理按要求批量删除文件夹方法汇总

示例一: 有这样一大堆文件夹结构,例如 abcde    |-----abcd2000              |---------0003              |----------0004                 ........    |------abcd2001              |---------0006              |----------0002                 ........   |------abcd2002      

asp.net下gridview 批量删除的实现方法第1/3页

要实现的效果很简单,看下图片: 功能:选中CheckBox,后从数据库中删除选中项.文章侧重将如何实现批量删除,对于如何链接数据库和绑定数据不做详细解释. 1 我们先要在GridView中添加一列为CheckBox.代码如下: 复制代码 代码如下: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">  <Columns>     

Redis批量删除KEY的方法

Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作. 复制代码 代码如下: redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli d