AndroidRecyclerView的卡片菜单按钮的onClick事件无法与SelectionTracker共用
创始人
2024-10-09 17:32:20
0

要解决这个问题,我们需要在 RecyclerView.Adapter 中重写 onBindViewHolder 方法,并在 ViewHolder 中覆盖 setOnClickListener 方法。在 onBindViewHolder 方法中,我们需要将选定状态与 SelectionTracker 中的状态相匹配,并在 ViewHolder 中设置 onClickListener。

以下是示例代码:

public class MyAdapter extends RecyclerView.Adapter {

private SelectionTracker mSelectionTracker;

public MyAdapter(SelectionTracker selectionTracker) {
    this.mSelectionTracker = selectionTracker;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    // create and return your view holder
    // ...
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    holder.bindView(position);
    boolean isSelected = mSelectionTracker.isSelected((long) holder.getItemId());
    holder.itemView.setSelected(isSelected);
}

public class MyViewHolder extends RecyclerView.ViewHolder {
    CardView cardView;
    ImageButton menuButton;

    public MyViewHolder(View itemView) {
        super(itemView);
        cardView = itemView.findViewById(R.id.card_view);
        menuButton = itemView.findViewById(R.id.menu_button);

        menuButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // handle menu button click event
            }
        });
    }

    public void bindView(int position) {
        // bind data to view
        // ...
    }
}

}

在上面的示例中,ViewHolder 中的 menuButton 被设置为一个 onClickListener,当菜单按钮被单击时,我们可以根据需要处理事件。在 onBindViewHolder 中,我们可以从 SelectionTracker 获取当前项的选定状态,并在 ViewHolder 中将其与相应的状态匹配。

这样,在选择项目时,我们可以确保菜单按钮的 onClick 事件与 SelectionTracker 共用,从而展示完整的选择功能。

相关内容

热门资讯

两分钟辅助“山西扣点点有辅助吗... 两分钟辅助“山西扣点点有辅助吗”开挂(安装)辅助安装扑克教程-有挂方略 【无需打开直接搜索加薇136...
重大来袭"极速官方游... 重大来袭"极速官方游戏暗堡辅助器"开挂(脚本)辅助脚本真的有挂-玩家教程>>您好:软件加136704...
实测揭晓"wepok... 实测揭晓"wepoker怎么提高运气"开挂(脚本)辅助脚本有挂透明挂-存在挂教程;亲,wepoker...
十分钟辅助“闲逸碰胡辅助插件”... 大家好,今天小编来为大家解答闲逸碰胡辅助插件这个问题咨询软件客服可以免费测试直接加微信(136704...
攻略讲解"微信小程序... 攻略讲解"微信小程序挂件辅助"开挂(安装)辅助安装有挂猫腻-教你教程;打开点击测试直接进入微信(13...
四分钟辅助“广东闲来辅助免费”... 您好:广东闲来辅助免费这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
重大通报"约战丹东苹... 重大通报"约战丹东苹果辅助"开挂(平台)辅助平台果真有挂-必胜教程【无需打开直接搜索加薇136704...
七分钟辅助“广东雀神智能插件安... 七分钟辅助“广东雀神智能插件安卓包”开挂(软件)辅助软件线上教程-有挂猫腻;无需打开直接搜索加薇13...
分享实测"微信呢小程... 分享实测"微信呢小程序辅助器脚本"开挂(透视)辅助透视有挂方针-软件教程>>您好:软件加薇13670...
开挂辅助“链接大厅辅助插件有哪... 链接大厅辅助插件有哪些开挂教程视频分享装挂详细步骤在当今的网络游戏中,链接大厅辅助插件有哪些作为一种...