我在使用双向数据绑定(bind)时将数据设置到 Edittext 时遇到一个问题 其中包含 HTML 标记,例如“< br >”或\n。
当有\n时,下一个数据应该换行。
它显示我像...
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiemyComments"
android:text="@={myComments}" />
最佳答案
有3种方法可以修复
自定义您的 TextInputEditText 类
在您的数据类中执行一个方法并在该方法中设置逻辑 前用户类用户名包含 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/