【发布时间】:2017-06-28 09:29:22
【问题描述】:
您好,我正在调用下面的函数来在我的 Recycler 视图 Adapter 的 onBindview() 方法中设置数据。
我调用方法如下:
@Override
public void onBindViewHolder(RecyclerViewHolders holder, int position) {
holder.setData(position);
}
我的 setData() 方法如下:
public class RecyclerViewHolders extends RecyclerView.ViewHolder {
public TextView txt_HappyHour;
public RecyclerViewHolders(View itemView) {
super(itemView);
txt_HappyHour = (TextView) itemView.findViewById(R.id.txt_HappyHour);
}
public void setData(final int position) {
final MyModel.MyData modelMyList = itemList.get(position);
if (modelMyList.happy_hours.equals("1")) {
txt_HappyHour.setVisibility(View.VISIBLE);
} else {
txt_HappyHour.setVisibility(View.GONE);
}
}
}
我正在根据上述 setData() 函数中的条件设置 TextView txt_HappyHour 的可见性。现在,当我运行该应用程序时,在滚动我的 RecyclerView 时,我看到 Textview 不止一次或多次可见。
听说我可以使用 setTag() 和 getTag() 方法解决这个滚动问题。但是,我很困惑,在我的情况下,我该如何使用或应用它?
需要帮助。
【问题讨论】:
-
尝试使用 getLayoutPosition() 或 getAdapterPosition() 方法
-
先生,getAdapterPosition() 不起作用,我已尝试作为 final MyModel.MyData modelMyList = itemList.get(getAdapterPosition());
-
在哪里初始化 txt_HappyHour @ZapAndi 您必须在 Viewholder 类中初始化文本视图。您的视图没有正确绑定。
-
嘿,我在问你在哪里提供文本视图的 id @Zap Andi
-
你可以发布你的模型类
标签: android android-recyclerview adapter android-viewholder