У меня есть небольшой EditText, и я хочу отображать ошибки (используя в нем editText.setError()). В Android API 10 сообщение отображается в большом количестве строк, и оно не читается. В Android 15 работает относительно хорошо. Я добавляю скриншоты, чтобы проиллюстрировать проблему в конце вопроса.
Как я могу отображать сообщения об ошибках в соответствующем режиме?
Я написал небольшой пример, чтобы воспроизвести проблему:
Деятельность:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
((EditText) findViewById(R.id.b)).setError("A error description and bla bla bla bla bla.");
}
Макет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<EditText
android:id="@+id/a"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/b"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/c"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/d"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/e"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
<EditText
android:id="@+id/f"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
Устройство с Android API 10:
Планшет с Android API 15:
Связанный вопрос. Но ответ не работает для меня.
UPDATE
Я выполнил тот же код на двух эквивалентных симуляторах, кроме уровня API. Результаты можно увидеть на экранах. API 15 по-прежнему не исправляет ошибку полностью. Текст разборчивый, но всплывающее окно не находится в правильном положении.