close
在嘗試使用 MVVM 架構時,使用 DataBinding 遇到了此問題
只要我進入目標 Activity 就會 Crush,出現下列錯誤
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxxx.AroundCircleActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class layout
而出錯的地方是 setContentView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_around_circle);
。。。
}
所以我就想到了剛剛對 XML 做的更動如下
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".around_circle_btn.AroundCircleActivity">
<data>
<variable
name="vm"
type="com.willydeveloper2016.myandroidlab.around_circle_btn.CircleCounterViewModel"
/>
</data>
我加上了 <layout> & <data> 這兩個 flag
而訊息告訴我們錯在第二行 <layout>
這是由於 AndroidStudio 不知道我們要使用 DataBinding 的原故
所以到 build.gradle (app) 增加下列參數就可以正常運作囉
android {
dataBinding {
enabled = true
}
}
文章標籤
全站熱搜
留言列表