【发布时间】:2016-04-09 23:54:58
【问题描述】:
by 不起作用,我的意思是我在 ViewHolder 中看不到它。 getWidth() 返回值 0.0。
编辑- 我看不到视图的原因是获取宽度的原始调用返回 0。
我有一个视图,用于显示某人在特定课程中的进度,设置如下:
<View
android:id="@+id/timerBar"
android:layout_width="match_parent"
android:layout_height="4dp"
android:background="@color/colorPrimaryDark" />
在 onBindViewHolder 方法中,我正在执行以下操作-
获取新宽度和当前布局
int width = (int) (holder.timerBar.getLayoutParams().width * ((float)time-start)/((float)end-start));
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.timerBar.getLayoutParams();
设置布局的宽度,设置视图的布局-
holder.timerBar.setLayoutParams(lp);
holder.timerBar.requestLayout();
调用 requestLayout() 显然会导致视图刷新,但它对我不起作用。
谁能建议如何在 recyclerview 视图中获取视图以更改其宽度?
感谢您的帮助。
【问题讨论】: