Выстроить многострочную строку в textView - PullRequest
1 голос
/ 11 декабря 2011

У меня проблема с форматированием текста в поля TextView. Я заполняю строки данными из базы данных и хочу, чтобы они выстроились в линию:

for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
SomeString = SomeString + String.format("|%1$-4s|%2$-12s|%3$-10s|\n",
    cursor.getString(someColumn1),
    cursor.getString(someColumn2),
    cursor.getString(someColumn3));
    }
Return SomeString

Чем я установил эту строку в поле textView. На самом деле это выглядит так:

|SomeColumn1|SomeColumn2|SomeColumn3|  
|SomeColumn1|SomeColumn2StringLonger|SomeColumn3|    
|SomeColumn1|ShorterC2|SomeColumn3|

Вот как это должно выглядеть:

|SomeColumn1-----|SomeColumn2-----|SomeColumn3|  
|SomeColumn1-----|SomeLargerString|SomeColumn3|  
|SomeColumn1-----|Shorter---------|SomeColumn3|  

Я пробовал с String.format("|%1$.4s|%2$.12s|%3$.10s|\n")

1 Ответ

0 голосов
/ 03 февраля 2012

У меня была такая же проблема.

Просто добавьте эту строку:

android:typeface="monospace"

в определение textView xml, форматирование теперь будет работать.

Это было все о ширинеодного персонажа.Пробелы явно короче других знаков.Monospace делает персонажей одинаковой ширины.Вот и все, просто.

Ура!

...