view.GONE 在 RecyclerView.OnBindViewHolder 中进度条不工作

view.GONE is not working progressbar in RecyclerView.OnBindViewHolder

onbindviewholder 方法中的进度条不起作用

@Override
public void onBindViewHolder(DataHolder holder, int position) {
    ListItem item = listdata.get(position);
    final View view = layoutInflater.inflate(R.layout.list_item, null);
    final TextView text = (TextView) view.findViewById(R.id.textView6);

    //view.GONE is not working in this method but TextView 

    final ProgressBar progressBar;
    progressBar=(ProgressBar) view.findViewById(R.id.progressBar2);
    progressBar.setVisibility(view.GONE);
    holder.title.setText(item.getTitle());
 }

膨胀 View 并将其打包在 ViewHolder 中(在您的情况下 DataHolder)在 onCreateViewHolder 方法中占有一席之地。

onBindViewHolder 中,您仅指的是之前创建的 View。不要膨胀新的,使用以前创建的(这是回收)并像你的 item 对象说的那样设置它

@Override
public void onBindViewHolder(DataHolder holder, int position) {
    ListItem item = listdata.get(position);
    ...
    holder.title.setText(item.getTitle());
    holder.progressBar.setVisibility(item.shouldBeVisible() ? Visibility.VISIBLE : Visibility.GONE);
}