相关疑难解决方法(0)

RecyclerView:如何添加OnClick()并保持onLongClick()工作?

我有onClickListener一个CheckBox用于RecyclerView保存CardView列表的设置.在我的ItemHolder扩展中设置了监听器ViewHolder.初始点击CardView检查CheckBox并将CardView的背景颜色从默认的白色切换为红色.这工作正常.

我也有自己的OnClickListener设置CardView.它OnClickListener是在onCreateViewHolder().中设置的.单击将CardView启动新的详细活动CardView.这工作正常.

最后,我尝试onLongClickListener在CardView上设置一个.该OnLongClickListener设置在onCreateViewHolder().CardView上的longpress意味着将背景颜色切换为红色并启动AlertDialog,以便用户可以确认将从列表中删除CardView.这可以正常工作,但是当这个代码添加到适配器时OnClickListerner,CardView的CheckBox不再有效.就好像它OnLongClickListner与CheckBox监听器冲突一样.注意我在itemHolder的onLongClick()代码中"返回true" .我在这里错过了什么?

Adapter.java

public MyRecylerAdapter(Context context, ArrayList<ListItem> listItems, ArrayList<ListItem> selectedList) {
    this.mContext = context;
    this.mListItems = listItems;
    this.selectedItemsList = selectedList;
}

private int selectedPos = -1;
...

private class ItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    private CardView cardView;
    private CheckBox chkSelected;

    private …
Run Code Online (Sandbox Code Playgroud)

checkbox android android-recyclerview

7
推荐指数
1
解决办法
1714
查看次数

标签 统计

android ×1

android-recyclerview ×1

checkbox ×1