我正在尝试运行以下单元测试代码片段,但它失败了:
final TextView textView = mView.findViewById(R.id.title);
assertEquals(View.TEXT_ALIGNMENT_VIEW_START, textView.getTextAlignment()); // FAILS
文本对齐在布局文件中设置如下:
<TextView
...
android:textAlignment="viewStart" />
当我像这样以编程方式设置文本对齐方式时,测试甚至没有成功:
final TextView textView = mView.findViewById(R.id.title);
textView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
assertEquals(View.TEXT_ALIGNMENT_VIEW_START, textView.getTextAlignment()); // STILL FAILS
可能是什么问题呢?当我使用 getter 从 TextView 对象获取时,为什么该值与常量不同?
我已经检查了两个值的确切 int 值是什么。TEXT_ALIGNMENT_VIEW_START 是 5,但是当我从 TextView 对象获取文本对齐值时,我得到 1。
因为在运行时这会转换为 ALIGN_LEFT 或 ALIGN_RIGHT,具体取决于语言环境的 LTR。它没有保留为 VIEW_START 并重新计算。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句