如何解决换行符\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同理),求路过的大神解释一二,让我解决了问题的同时,还能知道为什么我就稀里糊涂的解决了。

猜你喜欢

转载自2723364262.iteye.com/blog/2313002
今日推荐