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


相关推荐

  • git基本用法命令大全

    git基本用法命令大全1.新建本地git仓库,并将本地库关联远程仓库GitHub1.1. git拉取远程分支并创建本地分支1.1.1查看远程分支    gitbranch-r 查看所有远程分支:1.1.2拉取远程分支并创建本地分支        方法一    gitcheckout-b本地分支名origin/远程分支名 使用该方式会在本地新建分支,并自动切换到该本地分支。        方式二    g…

    2022年6月18日
    27
  • 幸福课第11讲_笔记

    幸福课第11讲_笔记11例行公事1.身体反馈假说2.没有更多的自律3.认知重建4.总结:如何成为成功人士,专家5.日记知道我们为什么要考试吗?—为了让你主动去整合我们之前学过的东西,这个课每节之间有联系的,你要去总结身体反馈假说理论:你在和你自己交流,通过伪造行为上的笑等–你的思想也和其保持一致实验:内向男144分钟聊天—(异性在男生不知觉该实验的情况下,主动谈笑风生12分钟x6个x2次…

    2022年7月18日
    15
  • Java高并发秒杀API(四)之高并发优化

    Java高并发秒杀API(四)之高并发优化Java高并发秒杀API(四)之高并发优化1.高并发优化分析关于并发并发性上不去是因为当多个线程同时访问一行数据时,产生了事务,因此产生写锁,每当一个获取了事务的线程把锁释放,另一个排队线程才能拿到写锁,QPS(QueryPerSecond每秒查询率)和事务执行的时间有密切关系,事务执行时间越短,并发性越高,这也是要将费时的I/O操作移出事务的原因。在本项目中高并发发生在哪?在

    2022年5月12日
    36
  • android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用

    android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用因为今天用到了ScaleAnimation缩放动画就写一下,加深一下印象。用ScaleAnimation有几个重载方法,这里就将八个参数的重载方法。ScaleAnimation(floatfromX,floattoX,floatfromY,floattoY,intpivotXType,floatpivotXValue,intpivotYType,floatpivotYV…

    2022年10月16日
    3
  • 关于CPU编程—无锁编程

    关于CPU编程—无锁编程Lock-free算法通常比基于锁的算法要好:从其定义来看,它们是wait-free的,可以确保线程永远不会阻塞。状态转变是原子性的,以至于在任何点失败都不会恶化数据结构。因为线程永远不会阻塞,所以当同步的细粒度是单一原子写或比较交换时,它们通常可以带来更高的吞吐量。在某些情况下,lock-free算法会有更少的同步写操作(比如Interlocked操作),因此纯粹从性能

    2022年6月1日
    20
  • sudoers修改_ubuntu sudoers 文件修改「建议收藏」

    sudoers修改_ubuntu sudoers 文件修改「建议收藏」自己作死,没有用visudo修改/etc/sudoers文件,结果导致sudoers文件出错,sudo无法使用。在网上找了一圈才搞好,哎!首先,不要慌,重启电脑,切换到recovery模式:###########开机后长按shift键,进入选择启动的界面光标移动到advance模式(14.04是第二排的)按enter进入后,选择recoverymode切换到rootroot@use…

    2022年6月20日
    49

发表回复

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

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