在 Kotlin 中将 BindView 实现到 MainActivity 时出现错误 "Unsolved Reference: ActivityMainBinding"
Getting an error "Unsolved Reference: ActivityMainBinding" while implementing BindView to the MainActivity in Kotlin
在我的 MainActivity.kt 文件中实施 bindView
时显示错误
Unsolved Reference: ActivityMainBinding
MainActivity.kt这一行中的错误:
private lateinit var binding: com.example.aboutme.databinding.ActivityMainBinding
MainActivity.kt
package com.example.aboutme
import android.content.Context
import android.databinding.DataBindingUtil
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.View
import android.view.inputmethod.InputMethodManager
class MainActivity : AppCompatActivity() {
private lateinit var binding: com.example.aboutme.databinding.ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, layout.activity_main)
...
}
将数据绑定应用到 应用程序级别 gradle 文件,如下所示。
dataBinding{
enabled = true
}
将根布局包裹在布局中,如下所示。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
...
...
</layout>
执行 BindView 后 Build -> Rebuild Project,错误消失。
应用插件,
apply plugin: 'kotlin-kapt'
也使用,
kapt 'com.android.databinding:compiler:3.1.4'
在你的依赖项中
在我的 MainActivity.kt 文件中实施 bindView
时显示错误
Unsolved Reference: ActivityMainBinding
MainActivity.kt这一行中的错误:
private lateinit var binding: com.example.aboutme.databinding.ActivityMainBinding
MainActivity.kt
package com.example.aboutme
import android.content.Context
import android.databinding.DataBindingUtil
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.View
import android.view.inputmethod.InputMethodManager
class MainActivity : AppCompatActivity() {
private lateinit var binding: com.example.aboutme.databinding.ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, layout.activity_main)
...
}
将数据绑定应用到 应用程序级别 gradle 文件,如下所示。
dataBinding{
enabled = true
}
将根布局包裹在布局中,如下所示。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
...
...
</layout>
执行 BindView 后 Build -> Rebuild Project,错误消失。
应用插件,
apply plugin: 'kotlin-kapt'
也使用,
kapt 'com.android.databinding:compiler:3.1.4'
在你的依赖项中