Android DataBinding錯誤記錄
阿新 • • 發佈:2018-11-10
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" 錯誤1
android:layout_height="match_parent">
<data>
<!--<import type="android.view.View"/>-->
<variable
name="viewmodel" 錯誤2
type="com.runqi.mvvm.viewmodel.MainViewModel"/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:addTextChangedListener="@{viewModel.nameChangeListerner}"
android:hint="name"/>
<EditText android:id="@+id/pwd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:addTextChangedListener="@{viewModel.pwdChangeListerner}"
android:hint="pwd"/>
<Button android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{viewModel.login}" 警告
android:text="login"/>
</LinearLayout>
</layout>
錯誤1 :app:processDebugResources AGPBI: {“kind”:”error”,”text”:”Error parsing XML: duplicate attribute”,”sources”:
刪除layout標籤中的android:layout_width和android:layout_height="match_parent
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="task"
type="com.pichardo.improvedtribble.models.Task" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
</layout>
錯誤2 msg:Identifiers must have user defined types from the XML file. viewModel is missing it
這個錯誤是因為data中宣告的variable與binding裡使用的名稱不一致造成的。
警告 Method references using ‘.’ is deprecated. Instead of ‘viewModel.login’, use ‘viewModel::login’
.
這種方式已經廢棄了,需要使用::
替換。