0

在此处输入图像描述

释放长按后,该项目将自动取消选择。

holder.attach_img.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    if (lvChatList.isItemChecked(position))
                        lvChatList.setItemChecked(position, false);
                    else
                        lvChatList.setItemChecked(position, true);
                    notifyDataSetChanged();
                    return false;
                }
            });
4

1 回答 1

0

您可能知道,Android 中的 View 层次结构由树表示。当您从 onLongClick() 返回 true 时 - 这意味着当前接收到事件的 View 是真正的事件接收者,并且该事件不应传播到树中的其他 View;当您返回 false 时 - 您让事件传递给可能使用它的其他视图。因此,对于您当前的情况,只需让 onLongClick(View view) 返回返回true而不是返回false并检查此https://developer.android.com/reference/android/view/View.OnLongClickListener.html

@Override
    public boolean onLongClick(View view) {
        if (lvChatList.isItemChecked(position))
                    lvChatList.setItemChecked(position, false);
                else
                    lvChatList.setItemChecked(position, true);
                notifyDataSetChanged();
                return true;
    }
于 2017-11-07T06:24:09.603 回答