You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EditText控件中正确设置带换行的HTML文本?

EditText中HtmlCompat.fromHtml换行失效的解决办法
  • 原因:HTML规范里普通的换行符\n不会被解析为换行,需要使用HTML的换行标签<br>或者段落标签<p>。

  • 解决方法1:替换换行符为

    将字符串中的\n替换成HTML换行标签,代码示例:

    val originalText = "first line\nsecond line"
    val htmlText = originalText.replace("\n", "<br>")
    editNote.setText(HtmlCompat.fromHtml(htmlText, HtmlCompat.FROM_HTML_MODE_COMPACT))
    
  • 解决方法2:直接使用
    标签编写HTML文本

    直接在要解析的HTML字符串中加入<br>实现换行:

    editNote.setText(HtmlCompat.fromHtml("first line<br>second line", HtmlCompat.FROM_HTML_MODE_COMPACT))
    
  • 解决方法3:使用

    标签实现段落换行
    如果需要段落级别的间隔,可以用<p>标签包裹每行内容:

    editNote.setText(HtmlCompat.fromHtml("<p>first line</p><p>second line</p>", HtmlCompat.FROM_HTML_MODE_COMPACT))
    
  • 额外注意:确保你的EditText开启了多行支持,在XML布局中添加属性:

    <EditText
        android:id="@+id/editNote"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine" />
    

内容的提问来源于stack exchange,提问作者DoctorWho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:48:46