繁体   English   中英

如果在 RecyclerView 中单击项目,如何禁用子项的单击事件?

[英]How to disable the click event of child if item is clicked in RecyclerView?

我已经实现了一个回收器视图,其中每一行都有图像。 现在,当我点击膨胀的图像时,它会打开图像。 如果我们单击项目行,我的要求是禁用图像单击。 我已经实施了;

@Override public void onItemClick(View view, int position){ }

但是在单击 item 时,它也需要单击膨胀的卡片并打开图像。 单击项目时,我想执行一些其他操作。

你可以在你的适配器中试试这个

 @NonNull
    @Override
    public ItemsAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View itemView = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.item_recycler, viewGroup, false);
        return new ItemsAdapter.MyViewHolder(itemView);


    }


      @Override
        public void onBindViewHolder(@NonNull final ItemsAdapter.MyViewHolder myViewHolder, final int position) {

            myViewHolder.itemView .setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                myViewHolder.yourImage.setEnabled(false);
                 //rest of your code here

                }
            });

        }
View viewChild = yourRecyclerView.findViewHolderForItemId(yourAdapter.getItemId(position)).itemView;
viewChild.setEnabled(false);

这段代码解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM