android - RecyclerView.Adapter 和 ImageView.getWidth()

标签 android imageview adapter android-recyclerview

我有一个显示某些元素的 recyclerview,其中可能是图片,也可能不是图片。 为了显示该图片,出于性能原因,我使用 this方法。

我在 public void onViewAttachedToWindow(final ViewHolder holder) 中使用它,但我的 ImageView 的宽度和高度仍然为 0。

那么,我应该什么时候显示图像?

最佳答案

您可以通过执行诸如 mImageView.getViewTreeObserver().addOnPreDrawListener(...) 之类的操作在 ViewTreeObserver 上附加 PreDrawListener。

调用该方法时,您可以访问 View 的宽度或高度。 请记得在监听器被触发后移除监听器:mImageView.getViewTreeObserver().removeOnPreDrawListener(this) 从你的监听器。

PS:抱歉,我现在无法访问 IDE,所以我可能打错了一些字;)

关于android - RecyclerView.Adapter 和 ImageView.getWidth(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27000474/

相关文章:

android - 从 Assets 中获取位图,然后将其加载到后台

android - 在发布应用程序时删除 AdMob 的测试设备 ID 是个好主意吗?

java - 为什么 Android Volley 响应字符串这么短

android - 如何使用 Google Provider 重新验证 Firebase 上的用户?

android - ListView 滚动错误

swift - 将图像数据从一个 View Controller 传递到另一个 View Controller

android - 单击时如何将按钮的效果赋予 ImageView?

android - 如何为 Facebook 之类的 Feed 的 ListView 适配器生成 UI

Android:Spinner 适配器 View 类型计数必须为 1

android - 如何将文本从 Activity(从 gridView 中选择的项目)发送到 fragment 并将文本发送到按钮