【问题标题】:How to preserve Linebrakes after reciving Text from Server (EditText)从服务器接收文本后如何保留换行符(EditText)
【发布时间】:2018-07-19 18:16:10
【问题描述】:

我有一个 EditText:

<EditText
         android:id="@+id/NachrichtText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_margin="5dp"
         android:background="@android:color/background_light"
         android:ems="10"
         android:inputType="textMultiLine"
                    />

用户可以写消息的地方。当用户按下回车键时,它可以正常工作(光标在下一行)。

当用户完成后,他可以单击一个按钮,以便将他的消息发送到服务器并保存在 SharedPreferences 中。 当用户离开活动并返回时,会从 SharedPreferences 收到消息,并且文本格式正确(存在线刹车)。

但是当用户从服务器下载消息时,消息没有换行符。

我尝试将 &lt;br&gt; 添加到换行符并通过 Spanned 运行文本,但它并没有真正起作用。

是否有任何其他可能性来保留可以保存在服务器中的换行符?如果可能,也可以不使用 HTML 代码。

谢谢

【问题讨论】:

  • 通过手动发送包含\n字符的字符串来检查您的服务器在保存数据时是否保存\n

标签: android android-edittext line-breaks


【解决方案1】:

尝试使用类似以下的逻辑:

if the user presses the enter key{ 
    add a \n character to the string saved
}

我相信一旦服务器接收到数据,这应该可以工作,因为它会处理“\n”字符并创建一个新行。只需按 OK 可能会在编辑文本中创建换行符,但不会在字符串中创建换行符。

希望对你有帮助,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多