问题描述: 仅单击的项目可见,并在RecyclerView中隐藏以前的项目。
回答: 在RecyclerView中,要实现仅单击的项目可见,并隐藏以前的项目,可以通过设置项目的可见性来实现。
首先,为RecyclerView的每个项目设置点击事件的监听器。当项目被点击时,我们可以将该项目设置为可见,同时将其他项目设置为隐藏。
以下是一种实现方式:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
// ...
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
// 设置点击监听器
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取被点击的项目的位置
int clickedPosition = holder.getAdapterPosition();
// 遍历所有项目
for (int i = 0; i < getItemCount(); i++) {
// 将被点击的项目设置为可见,其他项目设置为隐藏
if (i == clickedPosition) {
holder.itemView.setVisibility(View.VISIBLE);
} else {
// 隐藏以前的项目
holder.itemView.setVisibility(View.GONE);
}
}
}
});
}
}
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
这样,当单击RecyclerView中的项目时,被点击的项目将保持可见,其他项目将被隐藏。
领取专属 10元无门槛券
手把手带您无忧上云