1

我有一个将文本格式化为TextView字段的问题。我用数据库中的数据填充字符串,我想让它排成一行:排列多行字符串到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")

回答

0

试过我有同样的问题。

只需添加这行:

android:typeface="monospace" 

到TextView的XML定义,格式化将现在的工作。

这是所有关于单个字符的宽度。白色空间明显比其他标志短。等宽字体使字符具有相同的宽度。就这么简单。

干杯!

+0

thx,它现在正在工作。 – wariacik