XML格式中的换行符?


71

在XML中编辑字符串时,我需要添加换行符。我想问一下为Android编程时正确的形式是什么?因为<br>有效但是ECLIPSE将该区域标记为有问题。如果我检查建议,Eclipse会告诉我应添加结束标签</br>-如果我添加了换行符消失的信息...

因此,一个工作正常,但被标记为有问题,另一个工作正常,但是Eclipse告诉我可以。

我应该使用什么形式?


3
在旁注:切勿使用<br>。说明:大多数标记语言(用于xml,html等)用于<item>打开标签,</item>关闭标签并且<item></item>为空,因此具有替代符号<item/>。因此,<br>打开标签是IDE要求关闭的逻辑,</br>但是由于br标签几乎总是空的,因此建议使用<br/>。无论如何,问题是关于Java的,所以\n更好。将html用于textview可以很好地工作,但会占用相对较多的内存。如果您想要彩色的textview或类似的东西,仅在必要时使用它。
T_D

看到这里我的答案:stackoverflow.com/questions/18938403/...

Answers:




4

您也可以添加<br>而不是\ n。

然后可以向TexView添加文本:

articleTextView.setText(Html.fromHtml(textForTextView));

3

请注意:我看过其他帖子,它们&#xA;会给您一个段落中断,这奇怪地在Android xmlString.xml文件中起作用,但是在测试时不会显示在设备中(根本不会出现中断)。因此,\n两者都显示出来。


你能告诉我们&#xA;什么格式吗?其所有字符的表的网址可能是
shareef

2

这是我无法访问源字符串(例如下载的HTML)时使用的方法:

// replace newlines with <br>
public static String replaceNewlinesWithBreaks(String source) {
    return source != null ? source.replaceAll("(?:\n|\r\n)","<br>") : "";
}

对于XML,您可能应该对其进行编辑以<br/>代替。

在函数中使用的示例(为清楚起见,删除了其他调用):

// remove HTML tags but preserve supported HTML text styling (if there is any)
public static CharSequence getStyledTextFromHtml(String source) {
    return android.text.Html.fromHtml(replaceNewlinesWithBreaks(source));
}

...还有另一个例子:

textView.setText(getStyledTextFromHtml(someString));
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.