【发布时间】:2018-04-01 17:56:58
【问题描述】:
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());
}
【问题讨论】:
-
您正在那里膨胀一个新的、未使用的布局。您调用的
ProgressBar不是您在屏幕上看到的setVisibility()。摆脱通货膨胀和findViewById()调用,并在holder中调用ProgressBar中的setVisibility(),就像你是那里的TextView,假设你已经正确设置了holder中的ProgressBar. -
@mike 你能给我举个例子吗,我有点迷路了
-
没什么可展示的。它主要是从你拥有的东西中删除东西。假设你已经在
DataHolder中设置了ProgressBar,就像你在那里设置titleTextView一样,你只需要调用setVisibility()即可;例如,holder.progressBar.setVisibility(view.GONE);。然后,您可以删除当前在onBindViewHolder()中的所有行,从final View view = ...到progressBar.setVisibility(view.GONE);。
标签: android android-recyclerview android-progressbar