У меня проблема с использованием TextView в ListView, где TextView неправильно разбивает строку.Неисправность ломающихся линий Android Text
Для целей иллюстрации проблемы, у меня есть следующий текст для отображения:
"123456789="
"12345678901 ="
"123456789*"
XML-(TextView) Я использую выглядит следующим образом: -
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textAlignment="gravity"
android:layout_gravity="end"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
Результирующий дисплей выглядит следующим образом:
123456789
=
12345678901=
123456789
*
Очевидно, что я не хочу, «=» и «*», чтобы быть на отдельной строке , У меня попробовал десятки различных вариантов xml, не достигнув того, чего я хочу.
В эмуляторы испытанные являются:
Nexus 6 API-23: 5556
Nexus6p API-23: 5556
MotoG3 Android-6
Составитель для Android 6 с помощью 23.0.3
Используя следующий xml (EditText), я получаю желаемый результат:
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textAlignment="gravity"
android:layout_gravity="end"
android:textAppearance="?android:attr/textAppearanceLarge"
android:editable="false">
</EditText>
Правильный результат выглядит следующим образом:
123456789
567 =
12345678901 =
123456789
567 *
В то время как я мог бы использовать EditText, дисплей не должен быть редактируемым , и я считаю, что TextView должен работать. Кроме того, «андроид: редактируемый» устарел.
Может кто-то читает это мне посоветовать либо, как получить TextView работать по мере необходимости, или в качестве альтернативы, как использовать EditText с не-осуждается функции и достичь желаемого результата?
......... добавлено к вопросу ----------
Код, используемый для создания ListView в тестовом прог выглядит следующим образом: -
private void createLayout() {
RelativeLayout wRelLayout = new RelativeLayout(this);
wRelLayout.setBackgroundColor(Color.DKGRAY);
RelativeLayout.LayoutParams jLayParams = new RelativeLayout.LayoutParams(500, 700);
setContentView(wRelLayout, jLayParams);
ArrayList<String> alCalcLines = new ArrayList();
ListView lvCalcLines = new ListView(this);
lvCalcLines.setX(10);
lvCalcLines.setY(10);
lvCalcLines.setBackgroundColor(Color.WHITE);
lvCalcLines.setPadding(10, 10, 10, 10);
lvCalcLines.setAdapter(new ArrayAdapter<>(
this, R.layout.text_view_1, alCalcLines)); // xml
jLayParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
wRelLayout.addView(lvCalcLines, jLayParams);
alCalcLines.add("123456789=");
alCalcLines.add("12345678901 =");
alCalcLines.add("123456789*");
}
Я могу посмотреть на это, однако это TextView, и TextView должен обрабатывать его правильно. – briano