<?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’
.
这种方式已经废弃了,需要使用::
替换。