Android listView长按删除

Android listView长按删除AndroidlistView长按删除

大家好,又见面了,我是你们的朋友全栈君。

直接调用listview.setOnItemLongClickListener长按事件

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                AlertDialog.Builder builder = new AlertDialog.Builder(Activity10.this);
                builder.setTitle("提示!");
                builder.setMessage("确定删除?");
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        boolean isSuccess;
                        // 删除listView选择item的同时删除数据库中对应的信息
                        Database database = new Database(Activity10.this);
                        SQLiteDatabase db = database.getWritableDatabase();
                        String number = list.get(position).get("number");
                        String name = list.get(position).get("name");
                        String English_name = list.get(position).get("English_name");
                        String gender = list.get(position).get("gender");
                        String age = list.get(position).get("age");
                        try {
                            db.execSQL("delete from user where number = '" + number + "' and name = '" + name +
                                    "' and English_name = '" + English_name + "' and gender = '" + gender +
                                    "' and age = '" + age + "'");
                            Log.e("sql:", "delete from user where number = '" + number + "' and name = '" + name +
                                    "' and English_name = '" + English_name + "' and gender = '" + gender +
                                    "' and age = '" + age + "'");
                            Log.e("position", String.valueOf(position));
                            isSuccess = true;
                        } catch (SQLException e) {
                            e.printStackTrace();
                            isSuccess = false;
                        }

                        if (list.remove(position) != null) {
                            System.out.println("Success");
                        } else {
                            System.out.println("Failed");
                        }
                        if (isSuccess) {
                            adapter.notifyDataSetChanged();
                            Toast.makeText(Activity10.this, "已删除", Toast.LENGTH_LONG).show();
                        } else {
                            Toast.makeText(Activity10.this, "删除失败", Toast.LENGTH_LONG).show();
                        }

                    }
                });
                builder.setNegativeButton("取消", null);
                builder.create().show();
                // 返回true避免与点击事件冲突
                return true;
            }
        });

效果图:

Android listView长按删除

Android listView长按删除

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163285.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月22日 上午6:36
下一篇 2022年7月22日 上午6:36


相关推荐

  • JMH 性能测试分析工具

    JMH 性能测试分析工具一什么是JMHJMH是在method层面上的benchmark,精度可以精确到微秒级,是对热点函数进行优化时,对优化结果进行定量分析的工具。二JMH的应用场景典型场景:想定量地知道某个函数需要执行多长时间,以及执行时间和输入n的相关性。 一个函数有多种不同的实现,针对多种不同的实现,需要定量分析出那种实现性能更好。三JMH的使用3.1引入依赖<properties><jmh.version>1.14.1&…

    2022年7月11日
    27
  • bios检测得到硬盘,磁盘分区里找不到 恢复过程安全吗,电脑bios检测到硬盘,却读取不了

    bios检测得到硬盘,磁盘分区里找不到 恢复过程安全吗,电脑bios检测到硬盘,却读取不了

    2026年3月15日
    3
  • Java霸王的大陆梦幻版_三国志霸王的大陆,喜欢三国的进

    Java霸王的大陆梦幻版_三国志霸王的大陆,喜欢三国的进三国是中国历史上英雄辈出的时代 霸王的大陆 这款移植自 Fc 的战棋游戏更是中国手游 java 游戏的 No 1 该游戏内容极其丰富 对玩家的要求很高 因此这完全是一款符合游戏高手要求的大型单机游戏 以下是这款游戏的核心攻略 只要稍加留意 玩转三国将不再是你的梦想 首先 三国玩家们都很关心如何在游戏中顺利找到 诸葛亮 和 司马懿 这对冤家 其实这是最简单的问题 玩家只需要在 194 年后 到江陵就能找到孔明

    2026年3月18日
    2
  • MySQL启动和关闭服务命令

    MySQL启动和关闭服务命令MySQL 启动和关闭服务命令 1 启动服务命令 nbsp nbsp nbsp netstartmysq 关闭服务命令 nbsp nbsp nbsp netstopmysql

    2026年3月19日
    1
  • dovecot MySQL配置_Dovecot配置笔记

    dovecot MySQL配置_Dovecot配置笔记Dovecot 配置笔记 2018 09 13Dovecot 是一个开源的 为 Linux Unix like 系统提供 IMAP POP3 服务的软件 主要是为了安全产生的 不管大小应用 Dovecot 都是一个非常优秀的选择 它非常快 配置简单 不需要专业的管理员 而且它也非常节省内存 以上是来自 http www dovecot org 官方的介绍 下面我们来纪录记录一下它的安装 这里我使用了 CentOS

    2026年3月18日
    2
  • Java中transient关键字的详细总结

    Java中transient关键字的详细总结一 概要介绍 Java 中的 transient 关键字 transient 是短暂的意思 对于 transient 修饰的成员变量 在类实例的序列化处理过程中会被忽略 因此 transient 变量不会贯穿对象的序列化和反序列化 生命周期仅存于调用者的内存中而不会写到磁盘里持久化 1 序列化 Java 中对象的序列化指的是将对象转换成以字节序列的形式来表示 这些字节序列包含了对象的数据和信息 一个序列化后的对

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号