相关疑难解决方法(0)

双向数据绑定(在xml中),ObservableField,BaseObservable,我应该用哪个进行双向数据绑定?

我已经使用了数据绑定一段时间了,即使现在它也不适用于JDK 8和API 24.我仍然找到一种以更简单的方式使用数据绑定的方法.但是当我使用以下方式进行精确的双向数据绑定时(在我看来,双向数据绑定就像这里(什么是双向绑定?),有些奇怪的事情发生了.

1.双向数据绑定(以xml为单位)

android:text="@={testStr}"
Run Code Online (Sandbox Code Playgroud)

在官方文档中没有提到(https://developer.android.com/topic/libraries/data-binding/index.html,此页面通常会更新,现在可能会更改).但它可以将变量绑定到xml.

2. ObservableField属性

这里的示例(https://developer.android.com/topic/libraries/data-binding/index.html#observablefields)

private static class User {
   public final ObservableField<String> firstName =
       new ObservableField<>();
   public final ObservableField<String> lastName =
       new ObservableField<>();
   public final ObservableInt age = new ObservableInt();
}
Run Code Online (Sandbox Code Playgroud)

3.将模型类扩展为BaseObservable

private static class User extends BaseObservable {
   private String firstName;
   private String lastName;
   @Bindable
   public String getFirstName() {
       return this.firstName;
   }
   @Bindable
   public String getLastName() {
       return this.lastName;
   }
   public void setFirstName(String firstName) { …
Run Code Online (Sandbox Code Playgroud)

android android-databinding

11
推荐指数
1
解决办法
8644
查看次数

Android数据绑定,与元素类型"TextView"关联的属性"android:text"的值不得包含"<"字符

我正在使用Android数据绑定库.我要求如果绑定数小于10,我需要显示一个零附加(如01,05),否则显示正常数字.

这是我布局的相关部分:

<TextView
     android:id="@+id/tlm_no"
     style="@style/BlackSmallTextStyle"
     android:layout_width="@dimen/study_plan_icon_width"
     android:layout_height="wrap_content"
     android:layout_below="@id/tlm_image"
     android:gravity="center"
     android:fontFamily="sans-serif-light"
     android:text="@{studyPlanDetailVM.studyPlanDetail.learningPlanResource[0] < 10 ? `0` + studyPlanDetailVM.studyPlanDetail.learningPlanResource[0] : studyPlanDetailVM.studyPlanDetail.learningPlanResource[0]}" />
Run Code Online (Sandbox Code Playgroud)

但是当我构建项目时,它会抛出以下错误: The value of attribute “android:text” associated with an element type “TextView” must not contain the '<' character

我该如何解决这个问题?

android android-layout android-databinding

10
推荐指数
1
解决办法
2042
查看次数