使用数据库中的String在TextView中添加换行符

时间:2012-08-29 00:35:50

标签: android sqlite textview

我有一个SQLite数据库,其中一些值包含带有换行符'\n'字符的字符串。我希望当从数据库中提取该值时,放入String并将TextView的{​​{1}}设置为setText()值,换行符将起作用,但遗憾的是它没有。除了必须解析字符串并手动分解之外的任何其他选项?

2 个答案:

答案 0 :(得分:1)

如果你调试,你会发现字符串实际上是“\ \ r \ n \ n”或“\ \ n”,即它被转义。因此,如果你按摩那个字符串,以摆脱额外的\,你将有你的解决方案。如果您正在从数据库中读取数据,则情况确实如此。

答案 1 :(得分:1)

将字符串放入数据库时​​将对其进行转义。在将它放入TextView之前,可以通过调用String s = unescape(stringFromDatabase)来尝试和取消对字符串的删除。


  

private String unescape(String description){       return description.replaceAll(“\\ n”,“\\ n”); }

作为旁注,请确保在将数据插入数据库时​​,对来自用户或未知可更改源的任何类型的数据使用DatabaseUtils.sqlEscapeString()。这将保护您免受错误和SQL注入。