所以目前只能在Samsung S5和Galaxy笔记上重现,这就是我的EditText setError
问题是,我已经在一个带有EditText字段的空应用程序上尝试了setError,并且它的工作效果很好,所以三星本质上搞乱了他们的库并没有什么。但它似乎与他们如何呈现他们的观点有关?我已经在Moto X和其他非三星手机(包括nexus 7平板电脑)上测试了它,它运行正常!
当我点击离开然后回到EditText时,它就会出现" messes"再来一次:
然而,当我点击并打开键盘时,将屏幕旋转为横向,然后在键盘仍然向上的情况下回到纵向,setError恢复正常,如下所示:
因此,我认为这与我们如何在某处呈现我们的观点或某些边界有关。我已经在edittext上尝试了requestLayout(),forceLayout()和invalidate()视图。还尝试了对整个视图的invalidate()。依然没有。任何想法/在哪里调查?谢谢大家
编辑:这里只是LinearLayout的XML布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="5"
android:gravity="center"
android:paddingTop="@dimen/location_padding_top"
android:paddingBottom="100dp"
>
<EditText
android:id="@+id/location"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="Zip Code"
android:maxLength="5"
android:textSize="@dimen/field_text_size"
android:layout_weight="2"
/>
<ImageView
android:id="@+id/my_location_image"
android:src="@drawable/ic_menu_gps_blue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>