【问题标题】:How to disable the click event of child if item is clicked in RecyclerView?如果在 RecyclerView 中单击项目,如何禁用子项的单击事件?
【发布时间】:2020-04-01 09:26:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-recyclerview onclick


    【解决方案1】:

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

     @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
    
                    }
                });
    
            }
    

    【讨论】:

      【解决方案2】:
      View viewChild = yourRecyclerView.findViewHolderForItemId(yourAdapter.getItemId(position)).itemView;
      viewChild.setEnabled(false);
      

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

      【讨论】:

        猜你喜欢
        • 2017-06-09
        • 2019-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-16
        • 2013-03-30
        • 2013-11-28
        相关资源
        最近更新 更多