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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android Binder机制(超级详尽)

    1.binder通信概述   binder通信是一种client-server的通信结构,   1.从表面上来看,是client通过获得一个server的代理接口,对server进行直接调用;   2.实际上,代理接口中定义的方法与server中定义的方法是一一对应的;   3.client调用某个代理接口中的方法时,代理接口的方法会将client传递的参数打包成为Pa

    2022年4月6日
    47
  • 关于MATLAB读取txt文件的方法[通俗易懂]

    关于MATLAB读取txt文件的方法[通俗易懂]关于MATLAB读取txt文件的方法一、如何读取一个文档下,多个txt文件?一般读取的文件,命名都具有一定的规律,除去相同部分,剩下的变化按照时间、序号、某一特定的标志符等进行排列。下面我们举个例子来操作。假如文件夹里存在以下文件:cs20170701cs20170702cs20170703cs20170704…cs20170731标签:cs代表产品类型,数字代表年月日。总共…

    2025年9月21日
    4
  • tar命令打包和压缩与解压

    tar命令打包和压缩与解压

    2021年6月14日
    176
  • javascript飞机大战游戏_javascript游戏开发

    javascript飞机大战游戏_javascript游戏开发系列目录1.JavaScript贪吃蛇游戏2.JavaScript俄罗斯方块3.JavaScript扫雷小游戏4.JavaScript网红太空人表盘引言:之前我有用Java写过一个飞机大战,感觉挺受欢迎的,有的小伙伴想用Javasript写,我这次就按我的思路写了一个版本。实现思路分2张画布来实现,画布1仅仅用来绘制背景图,画布2用来绘制游戏相关的动态内容。创建我方飞机定时创建敌机开启主线程,用来刷新画布2.代码实现编写页面<!DOCTYPEhtml&

    2022年8月12日
    7
  • 一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]

    一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]子网划分理论基础为什么进行子网划分减少网络流量,无论什么样的流量,我们都希望它少些,网络流量亦如此。如果没有可信赖的路由器,网络流量可能导致整个网络停顿,但有了路由器后,大部分流量都将呆在本地网络内,只有前往其他网络的分组将穿越路由器。路由器增加广播域,广播域越多,每个广播轻松划分子网域就越小,而每个网段的网络流量也越少。优化网络性能,这是减少网络流量的结果。简化管理,与庞大的网络相比,在一系列相连的小网络中找出并隔离网络问题更容易。有助于覆盖大型地理区域,WAN链路比LAN链路的速度慢得多,且

    2022年6月27日
    26
  • java九九乘法表代码加解释_java九九乘法表编程代码是什么?

    java九九乘法表代码加解释_java九九乘法表编程代码是什么?展开全部packagech02;publicclassTEST{publicstaticvoidmain(String[]args){for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(j+”*”+i+”=”+(i*j)+””);}System.out.println(…

    2022年7月15日
    19

发表回复

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

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