【问题标题】: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);
这段代码解决了我的问题。