gpt4 book ai didi

android - 如何获取 RecyclerView 项目的 ViewHolder

转载 作者:行者123 更新时间:2023-11-29 01:21:56 28 4
gpt4 key购买 nike

我正在研究 RecyclerView,我想为卡片上的图像添加视差效果。如果我使用 ParallaxEveryWhere 库,它工作正常,但我想手动创建它。

现在的问题是我想从我的适配器中获取所有项目的 ViewHolder。我已经尝试了所有 RecyclerView 方法来获取项目的 Viewholder,但所有方法都返回 null。

我正在寻找一种解决方案,以从其适配器中获取 RecyclerView 中项目的 ViewHolder

最佳答案

这是 RecyclerView 的骨架

public class YourAdapter extends RecyclerView.Adapter<YourAdapter.ViewHolder> {

private Context context;
public YourAdapter( Context context) {
this.context = context;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card_item, viewGroup, false);
ViewHolder viewHolder;
viewHolder = new ViewHolder(v);
return viewHolder;
}

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int i) {

viewHolder.textView.setText("Text");
viewHolder.imgView.setImageResource(R.drawable.image);

}

@Override
public int getItemCount() {
return 0;
}

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

public TextView textView;
public ImageView imgView;
public ViewHolder(View itemView) {
super(itemView);

textView = (TextView) itemView.findViewById(R.id.textView);
imgView = (ImageView) itemView.findViewById(R.id.imgView);

}

}

}

例如,如果您的 ViewHolder 中有 TextView 和 ImageView 作为项目,您可以在 onBindViewHolder() 方法中访问这些项目

关于android - 如何获取 RecyclerView 项目的 ViewHolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36304872/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com