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