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"));
这时就是正常的显示啦。
寄语:
这并不是一篇深度的技术文章,只是写一下自己碰到的小问题。希望能帮助到需要的人少走一些弯路。