Android TextView换行符

时间:2016-05-17 14:51:21

标签: java android

我有一个TextView,其中包含逗号分隔的电话号码列表。即(917)234-5678,(917)423-2312等

问题是TextView行打破空格所以我得到这样的东西:

|(917) 234-5678, (917) 456-8290, (917)|
|423-2313                             |

有没有办法添加"隐形"阻止TextView打破中间电话号码的字符,或者其他一些控制换行位置的方法?

更新: 另外注意,字符串是未知的,所以我不能在正确的位置添加换行符。

4 个答案:

答案 0 :(得分:0)

你可以在每个逗号后添加换行符。例如:

String phoneNumbers = .... your numbers
phoneNumbers.replace(",", ",\n"); // this adds a line break after all commas

<强>更新

评论后,所以也许你应该删除中间数字发生的额外空格。类似的东西:

phoneNumbers.replace(" ", "").replace(",", ", "); // remove all the spaces and re-add one space after the comma, that way auto-line break only happens in-between numbers

关键是TextView没有任何功能可以改变它打破线条的方式。所以你的解决方案必须依赖于向它传递一个String,它将与它处理它的方式更加兼容。

答案 1 :(得分:0)

我认为你的问题是拥有一个宽度恒定的TextView。您是否尝试将电视宽度设置为wrap_content

答案 2 :(得分:0)

您可以执行yourPhoneText.replace(") ", ")");

之类的操作

More example is here.

答案 3 :(得分:0)

感谢@comrade指出相关问题。通过这样做:

number.replace(" ", "\u00A0") 
在使用逗号连接它们之前,每个数字上的

我能够让换行按预期工作。