在视图模式中重置对齐框中的对齐
问题描述:
我正在尝试使用视图模式来提高我的列表视图中的速度。一切正常,但我有一个TextView的对齐问题。这是我在使用问题的TextView的XML:在视图模式中重置对齐框中的对齐
<TextView
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginTop="-5dp"
android:text="200"
android:textSize="23sp"
android:id="@+id/windAverage"
android:layout_gravity="right"/>
在这种TextView的存在是一个数,当我重复使用的保持器,其具有数大于9出现问题更大,例如:
在这个文本视图中有一行有11个,用户会看到“11kn”,这是可以的,因为11接近kn。当用户滚动并且我收到此行的持有人以重新使用它并将文本从11设置为5时,例如,用户会看到5和kn之间具有空白的“5 kn”,如果前一个值较大它会打印两个白色空间的5 kn。这就像保留了打印数字的参考。是否有办法将对齐设置为初始状态,以便重新计算将新数字打印在正确的位置?
答
尝试在有问题的TextView上设置Gravity.RIGHT。
textView.setGravity(Gravity.RIGHT)
机器人:layout_gravity仅设置整个视图的在其父重力,而不是TextView的内的文本的严重性。
或者,将TextView的宽度设置为LayoutParams.WRAP_CONTENT而不是固定值。
答
最后我找到了解决办法,我不得不重新编程的layout_gravity:
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.windAverageText.getLayoutParams();
params.gravity = Gravity.RIGHT;
holder.windAverageText.setLayoutParams(params);
显示你的整个XML布局.. – 2014-11-01 05:10:57