Android的TextView不能换行问题

时间:2021-6-4 作者:qvyue

TextView应该是在App开发中最常用的一个android组件了。作为一个常用的组件,我描述一个app开发中遇到的一个坑。

需求:应用内升级提示
Dialog样式:TextView + Button (TextView支持n折行显示,最多5行)

这个需求并不难,就不贴上具体的代码了。这里我们针对的是TextView。我们知道,TextView是支持n折行的。所以,当我们实现上述需求后,自己在本地测试一下效果,给TextView赋值,并强制弹出了升级的Dialog。

mUpdateTextView.setText("更新啦,更新啦n折行更新啦");

效果如下:

Android的TextView不能换行问题
Update Dialog.png

效果看起来还不错,是我们想要的样子。但是如果你以为这样就万事大吉了,那就错了。当我们在测试环境做升级测试时,你会发现效果变成了这个样子:

Android的TextView不能换行问题
Update_Image.png

那么是为何呢?后台配置的明明是更新啦,更新啦n折行更新啦
在Android端,抓取收到的数据后,发现,数据变成了:更新啦,更新啦\n折行更新啦,多了一个转义字符『 』。
那么问题到这就清楚了,服务器返回的数据n被转义字符变成了真正的n。所以,我们只需要将其替换回去就好了。

mMsgView.setText(msg.replace("\n", "n"));

这时就是正常的显示啦。

寄语:
这并不是一篇深度的技术文章,只是写一下自己碰到的小问题。希望能帮助到需要的人少走一些弯路。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。