首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnItemLongClickListener还在发布按钮时运行OnItemClickListener。

OnItemLongClickListener还在发布按钮时运行OnItemClickListener。
EN

Stack Overflow用户
提问于 2018-09-17 19:05:09
回答 1查看 32关注 0票数 0

它使用函数OnItemLongClickListener,但在发布按钮时也运行OnItemClickListener。

代码语言:javascript
复制
    lv_driver.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {

            builder = new AlertDialog.Builder(MyActivity.this);
            builder.setTitle("Be carefull ");
            builder.setMessage("Do you want to delete?");
            builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                    delData(i);
                }
            });
            builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    dialogInterface.dismiss();
                }
            });

            builder.show();

            return false;
        }
    });

    lv_driver.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            Toast.makeText(MyActivity.this, "OnItemclick show ",
                    Toast.LENGTH_SHORT).show();
        }
    });

}

按住按钮时,显示对话框确认删除,但发布按钮时显示吐司中的文本"OnItemclick显示“。怎么修呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 19:11:51

只需return true;,而不是在setOnItemLongClickListener中返回false,它必须做到这一点

更改此

代码语言:javascript
复制
 lv_driver.setOnItemLongClickListener(new 
 AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> adapterView, View view, 
     int i, long l) {

        builder = new AlertDialog.Builder(MyActivity.this);
        builder.setTitle("Be carefull ");
        builder.setMessage("Do you want to delete?");
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

                delData(i);
            }
        });
        builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.dismiss();
            }
        });

        builder.show();

        return false;
    }
});

到此

代码语言:javascript
复制
     lv_driver.setOnItemLongClickListener(new 
     AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> adapterView, View view, 
        int i, long l) {

        builder = new AlertDialog.Builder(MyActivity.this);
        builder.setTitle("Be carefull ");
        builder.setMessage("Do you want to delete?");
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

                delData(i);
            }
        });
        builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.dismiss();
            }
        });

        builder.show();

        return true;
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52374256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档