尝试实现双向绑定 如上所述:
Two-way Android Data Binding - How to use two-way Data Binding to manage a layout
2-way Data Binding on Android!
但是
<variable type="com.example.gideonsassoon.avariel.datamodels.Player" name="name"/>
我收到以下消息:
“属性缺少Android名称空间前缀少...(Ctrl + F1) 大多数Android视图在Android命名空间中都有属性。什么时候 引用这些属性必须包含名称空间前缀,或 您的属性将被aapt解释为自定义属性。 同样,在清单文件中,几乎所有属性都应该在 android:namespace。“
如果我尝试构建它,将我文件中的所有R.置于红色状态并说明它们不存在等。
我已编辑了我的构建gradle文件
dataBinding.enabled = true
以下相关点的完整代码
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:windowSoftInputMode="adjustPan"
tools:context="com.example.gideonsassoon.avariel.ui.MainFragmentActivity">
<data>
<variable type="com.example.gideonsassoon.avariel.datamodels.Player" name="name"/>
</data>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/viewpagerStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"/>
</android.support.v4.view.ViewPager>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="7dp"
android:layout_marginTop="34dp">
<TextView
android:id="@+id/tv_character_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name_colon"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textIsSelectable="false" />
<EditText
android:id="@+id/et_character_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@={player.name}"
android:layout_alignBaseline="@+id/tv_character_name"
android:layout_marginStart="15dp"
android:layout_toEndOf="@+id/tv_character_name"
android:ems="12"
android:hint="@string/character_name"
android:inputType="textPersonName" />
答案 0 :(得分:4)
啊,似乎我把它作为relativeLayout。它不能“绑定”所以它只能是布局。不确定这会如何影响我的整个文件,但我想我们只需看看它是如何发挥作用的。这是我的来源。但是,如果有人想回答这个问题,那将是非常感激的。