android - 将 String 设置为 Edittext 时\n(新行)的两种方式数据绑定(bind)问题

标签 android html data-binding android-databinding android-textinputlayout

我在使用双向数据绑定(bind)时将数据设置到 Edittext 时遇到一个问题 其中包含 HTML 标记,例如“< br >”或\n。

当有\n时,下一个数据应该换行。

它显示我像...

enter image description here

 <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/tiemyComments"
                        android:text="@={myComments}" />

最佳答案

有3种方法可以修复

  1. 自定义您的 TextInputEditText 类

  2. 在您的数据类中执行一个方法并在该方法中设置逻辑 前用户类用户名包含 html 文本 所以我会做一种方法,比如转换 htmltoText 方法并在里面做逻辑 方法和返回字符串

public class DataBindingAdapter {
    @BindingAdapter("convertHtmltoText")
    public static void convertHtmltoText(TextInputEditText view, String value) {

        string description = value.replace("\n", "<br/>") ?: ""
        view.setText(HtmlCompl̥at.fromHtml(description, 
 HtmlCompat.FROM_HTML_MODE_LEGACY));

    }
}

<com.google.android.material.textfield.TextInputEditText
 android:id="@+id/tiemyComments"
 convertHtmltoText="@{myComments} />

关于android - 将 String 设置为 Edittext 时\n(新行)的两种方式数据绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124634/

相关文章:

java - 设备进入休眠状态时 GPS 无法接收位置更新(黑屏)

java - 如何滚动我的屏幕

html - 如何正确地将无序列表嵌入有序列表 (HTML)

html - 如何在外部单击时关闭侧边栏菜单?

c# - 从后面的代码创建到 Resources.resx 中字符串的绑定(bind)

android - 在 Android 移动网络应用程序中嵌入 pdf 时如何避免打开按钮?

android - 如何在android KeyStore中生成KeyPair,受自定义密码保护

html - 文本行转到新行,而不是换行,即使使用自动换行 :break-word

c# - DataGrid ComboBox 第一次点击时没有选中项

c# - WPF 数据绑定(bind)需要手动提升