DataBindingを使う時に下記のように書いたんですけど
//MainActivity.kt内
class MainActivity : AppCompatActivity() {
private lateinit var model: TaskViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
var binding:ActivityMainBinding =
DataBindingUtil.setContentView(this, R.layout.content_main)
}
}
まずはDataBindingUtilが見つからない。
これは、build.gradleに下記を書いてないからでした。
android{
dataBinding{
enabled = true
}
}
これねー、Room+LiveData+ViewModelでやるときは、この
dataBinding enabled =true
いらないんですよ。なので、ちょっとした落とし穴ですね。
んで、本題の
MainActivityBinding not found
ですが、この一文の中にすでに答えがあります。
var binding:ActivityMainBinding =
DataBindingUtil.setContentView(this, R.layout.content_main)
Bindingの型はレイアウトファイルの名称に依存するのです。
つまり、この場合は、レイアウトファイルがcontent_mainという名前なので、
var binding:ContentMainBinding =
DataBindingUtil.setContentView(this, R.layout.content_main)
ってすると、動きます。