当我定义一个TextView在xml,我如何添加一个新的行?\n似乎不起作用。

<TextView
   android:id="@+id/txtTitlevalue"
   android:text="Line1 -\nLine2"
   android:layout_width="54dip"
   android:layout_height="fill_parent"
   android:textSize="11px" />

当前回答

尝试了以上所有方法,我自己做了一些研究,得出了以下渲染换行转义字符的解决方案:

string = string.replace("\\\n", System.getProperty("line.separator"));

使用replace方法,您需要过滤转义换行符(例如。' \ \ \ n ') 只有这样换行'\n'转义字符的每个实例才会呈现为实际换行

在这个例子中,我使用了一个带有JSON格式数据的谷歌应用程序脚本noSQL数据库(ScriptDb)。

欢呼:D

其他回答

不要相信Visual编辑器。 你的代码在emu中工作。

确保你的“n”在“\n”中才能工作。

RuDrA05的答案很好,当我在eclipse上编辑XML时,它不起作用,但当我用notepad++编辑XML时,它确实起作用。

如果我读取一个用eclipse或notepad++保存的txt文件,也会发生同样的事情

可能和编码有关。

如果你调试,你会看到字符串实际上是“\ \r\ \n”或“\ \n”,也就是说,它被转义了。所以如果你按摩那条线,去掉多余的\,你就得到了解决方案。如果从数据库中读取数据,情况尤其如此。

<TextView
   android:id="@+id/txtTitlevalue"
   android:text="Line1: \r\n-Line2\r\n-Line3"
   android:layout_width="54dip"
   android:layout_height="fill_parent"
   android:textSize="11px" />

我认为这行得通。