如何解决换行符\n和制表符\t 在textview中失效

        在讲一个问题之前,先看一段小代码

 String c="name\\nname";
        Log.i("检测c",c);
        Log.i("检测c",c.replace("\\n","\n"));

       上述代码的打印结果是这样的:

07-22 21:25:04.981 25196-25196/com.yuzhiyun.chemistry I/检测c: name\nname
07-22 21:25:04.981 25196-25196/com.yuzhiyun.chemistry I/检测c: name
                                                             name

        结论: \n具有换行效果,但是加一个\变成\\n ,转义字符\n就失效了,失去了换行效果。

 

       现在我提出自己遇到的问题:

       我在sqlite数据库中存储的数据带有\n,但是查询出来后显示到TextView里面却失去了换行效果,直接显示出来的\n

则进行处理。          \n 例:13.0250001取四位有效数字时,结果为13.03    

        这就惹火了,怎么会这样,这说明了数据库中提取出的数据中的\n被替换成\\n了, 所以我只需要再替换回来就可以正常显示了。解决代码如下:

 

String b=noChoiceExercise.getAnswer().replace("\\n","\n").replace("\\t","\t");

        tvAnswer.setText(""+b);

        但是我还是搞不明白为什么数据库中的\n会被什么神来之物给替换成\\n(\t同理),求路过的大神解释一二,让我解决了问题的同时,还能知道为什么我就稀里糊涂的解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值