在onCreateViewHolder中调用parent的getWidth

时间:2016-08-17 15:05:14

标签: android android-recyclerview recycler-adapter

在RecyclerView适配器的onCreateViewHolder中获取父级宽度是否可以?父母的维度是否在该状态下进行衡量,因此当我在父母身上调用getWidth()时,我不会得到0?

2 个答案:

答案 0 :(得分:1)

是的,父母实际上是RecyclerView。在调用onCreateViewHolder时,它具有非零的getWidth()和getMeasuredWidth()。

验证这一点的简便方法是将调试器设置为在方法中停止并检查父级。

parent = android.support.v7.widget.RecyclerView{d08d560 VFED..... ......ID 0,0-1080,1698 #7f0c0074 app:id/recyclerView1}

mMeasuredWidth = 1080
mLeft = 0
mRight = 1080

答案 1 :(得分:0)

我遇到一种情况,在某些情况下,我在致电parent.getWidth()时实际上得到0,所以我不得不使用getMeasuredWidth()。对于任何面对此问题或对此感到疑惑的人,建议您阅读this answer