【问题标题】:Two (or more) consecutive newlines in String in AndroidAndroid中String中的两个(或多个)连续换行符
【发布时间】:2012-12-28 10:03:29
【问题描述】:

我需要在一个字符串中添加几个换行符,但不起作用,它只添加第一个换行符。但是在java中它可以工作。

例如,对于这个字符串:

String s = "one\n\ntwo";

在 android 中打印:

one
two

在java打印中:

one

two

我用 "\n"、"System.getProperty("line.separator") 和 String.format("%n") 进行了测试,结果相同。

有人知道解决办法吗?

更新:我动态生成字符串以对服务器进行身份验证,我不需要将它添加到 TextView 并且我不能使用 strings.xml

已解决:Logcat 不会仅打印带有 \n 的行,但字符串包含它。谢谢。

【问题讨论】:

  • 你是用 logcat 还是 textview 打印?
  • 尝试在 textview 中设置文本,看看效果如何。
  • 从您下面的 cmets 中,我建议您重新表述您的问题,以包括您想要实现的目标以及您的限制是什么。
  • @jlordo 我又更新了几分钟的问题,虽然很清楚他问了什么。
  • 我们不明白你的问题。这个\n\n 是两条新线。你有什么问题?

标签: java android line break separator


【解决方案1】:

使用这个

String s = "one \n \n two";

在换行符之前和之后(\n)留一些空间然后它会起作用

【讨论】:

  • 使用字符串对服务器进行身份验证,我不能设置空白。
【解决方案2】:

我认为你应该像这样把你的字符串放在 string.xml 文件中

<string name="test">one\n\n\ntwo</string>

它显示你的智慧。

谢谢

【讨论】:

  • 这对我无效,我动态生成字符串以针对服务器进行身份验证。
【解决方案3】:

试试这个:

<TextView
    android:id="@+id/textId1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:singleLine="false"
    android:textColor="#ff4500" />

来自您的活动:

String s = "one\n\ntwo";
TextView tv = (TextView) findViewById(R.id.textId1);        
tv.setText(s);

谢谢。

【讨论】:

  • 这对我无效,我动态生成字符串以针对服务器进行身份验证。
  • @alfonsomiranda 在您发布问题时具体说明您的要求。
【解决方案4】:

尝试添加&lt;br&gt;&lt;br/&gt;而不是\n。

【讨论】:

    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 2017-02-26
    • 2022-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2011-12-15
    相关资源
    最近更新 更多