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

时间:2018-04-01 17:56:58

标签: android android-recyclerview android-progressbar

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());
 }

1 个答案:

答案 0 :(得分:0)

膨胀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);
}