【发布时间】:2011-02-05 03:27:50
【问题描述】:
我正在尝试以编程方式构建布局。
此布局是动态的。根据从数据库中读取的数据,每次看起来都可能不同。
我有一个 LinearLayout,它的方向设置为垂直。
我想在“行”上尽可能多地使用文本(来自数据库的数据)来放置 TextView。
我正在做的是构建作为行的线性布局。这些 LinearLayout 填充了 TextView。我构建了 TextView,设置了文本,然后检查宽度以查看它是否适合这一行(通过从屏幕宽度中减去所有 TextView 宽度的总和,看看新的 TextView 是否适合)。如果没有,我创建一个新的 LinearLayout 并开始向其中添加 TextViews。
问题是 myTextView.getWidth() 和 myTextView.getMeasuredWidth() 都返回 0。
为什么?如何获取 TextView 的宽度?
【问题讨论】:
-
我认为,可能是您调用 getWidth() 太早了...顺便说一句,您在哪里调用它?看起来你可能在 onCreate() 中做,你可以尝试在 onMeasure() 中调用