当前位置: 首页 > 知识库问答 >
问题:

setOnItemLongClickListener在它之后调用setOnItemClickListener

朱鹏
2023-03-14

问题是,如果用户想删除一个项目(长时间点击该项目),我的应用程序会打开删除确认消息和编辑确认。

有什么想法,当用户长时间单击列表项时,如何只打开delete(setOnItemLongClickListener)消息?

// DELETE
list.setOnItemLongClickListener((parent, view, position, arg3) -> {

    Contacts contacts = queue.get(position);

    AlertDialog.Builder adb=new AlertDialog.Builder(Read.this);
    adb.setTitle("Delete?");
    adb.setMessage("Are you sure you want to delete?");
    adb.setNegativeButton("Cancel", null);
    adb.setPositiveButton("Ok", (dialog, which) -> {

        deleteContact(Read.this, contacts.phone, contacts.name);

        mobileArray.remove(position);
        adapter.notifyDataSetChanged();

    });
    adb.show();

    return false;

});


// EDIT
list.setOnItemClickListener((parent, view, position, arg3) -> {

    Contacts contacts = queue.get(position);

    AlertDialog.Builder adb=new AlertDialog.Builder(Read.this);
    adb.setTitle("Edit?");
    adb.setMessage("Edit?");
    adb.setNegativeButton("Cancel", null);
    adb.setPositiveButton("Ok", (dialog, which) -> {

        Log.d("edit:", contacts.name + contacts.id + contacts.phone + contacts.email);

    });
    adb.show();


});

共有1个答案

陶博赡
2023-03-14

虽然我不认为这种方法本身是可行的,但您也许应该使用滑动来执行多个操作以获得更好的UX。

无论如何,一个可能的解决方案是存储两个警报对话框的私有实例,如下所示:

private AlertDialog clickDiag;

private void function(){
   AlertDialog.Builder adb=new AlertDialog.Builder(Read.this);
   clickDiag = adb.show();
}

现在已经存储了实例,对话框中有一个有用的函数

clickDiag.isShowing();
 类似资料:
  • 我只是为 而我得到一些错误 错误:(166,86)错误:不是抽象的并且没有覆盖OnItemLongClick(AdapterView, View, int, long)中的抽象方法OnItemLongClick(AdapterView, int, long)错误:(168,25)错误:onItemLongClick(AdapterView, View, int, long)中无法实现OnItemL

  • 我尝试使用Firebase为Android提供推送通知。但我面临着非常奇怪的问题。当我在前台发送推送时,一切正常。当我在后台发送推送时(我只发送数据),一切都正常,直到我回到前台,然后回到后台。 当我的应用程序第二次转到后台时,不会调用我的FirebaseMessagingService。另外,请注意,我使用的是Android Emulator。代码: AndroidManifest。xml: 服

  • 这真的让我难堪……问题的核心是: 当该语句执行时,两个条件都通过了,但是对fileno()的调用却因AttributeError而失败!!不相信我?下面是堆栈转储: 请求方法:GET请求URL: https://XXXX/YYYY/abcdef/hazards/NSP-F15-22/pdf/ Django版本:1.8.3 Python版本:3.4.0已安装应用:(' django.contrib.

  • React引入了新的静态方法,它在每个呈现方法之前都会被调用,但为什么呢?在prop change之后调用它对我来说是有意义的,但是在之后调用它就没有意义了,也许我错过了什么。 我根据公司的要求创建了一个组件,在组件中日期是从道具控制的。我在组件中有以下状态。 是的,我在中创建了一个额外的变量来跟踪是否由于而被调用,但我认为这不是正确的方法。 或者是我做错了什么或者遗漏了什么,或者不应该在之后调用

  • 我试图创建一个使用谷歌地图的项目的定位器功能的华为变体。但我的问题是onMapReady()回调在getMapAsync()之后根本不触发 但是当使用huawei map依赖项时,getMapAsync()之后根本不会触发onMapReady回调

  • 我是一个初学程序员,我已经试着解决这个问题几天了,我不知道还能做什么。你能帮我吗?