Android Can';无法解析用于数据绑定的活动绑定
我试图使用MVVM架构模式,但当我键入ActivityMainBinding时,建议菜单中没有显示任何内容 我试图更改XML文件名并将其更改回原始名称,但什么也没有发生 这是我的依赖Android Can';无法解析用于数据绑定的活动绑定,android,mvvm,android-architecture-components,Android,Mvvm,Android Architecture Components,我试图使用MVVM架构模式,但当我键入ActivityMainBinding时,建议菜单中没有显示任何内容 我试图更改XML文件名并将其更改回原始名称,但什么也没有发生 这是我的依赖 android { compileSdkVersion 28 defaultConfig { applicationId "com.example.alphabet" minSdkVersion 16 targetSdkVersion 28 versionCod
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.alphabet"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard- rules.pro'
}
}
dataBinding{
enabled = true
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
def lifecycle_version = "2.1.0"
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
// (see https://github.com/ReactiveX/RxJava/releases for latest 3.x.x version)
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
}
主要活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
}
}
xml
数据绑定的xml格式不正确,应为:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.myapp.data.ViewModel" />
</data>
<ConstraintLayout... /> <!-- UI layout's root element -->
</layout>
根据文档:根元素应该是代码>
转换为xml数据绑定布局的简单方法是在现有的非数据绑定布局中的标准根元素视图/视图组上输入ALT,然后选择“转换”选项
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.myapp.data.ViewModel" />
</data>
<ConstraintLayout... /> <!-- UI layout's root element -->
</layout>