Android的TextView不能换行问题

作者: 微行丶简 | 来源:发表于2016-09-28 18:35 被阅读5539次

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

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

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

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

    效果如下:

    Update Dialog.png

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

    Update_Image.png

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

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

    这时就是正常的显示啦。

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

    相关文章

      网友评论

        本文标题:Android的TextView不能换行问题

        本文链接:https://www.haomeiwen.com/subject/jaxkyttx.html