无法将databinding.ActivityMainBinding导入Android项目

时间:2018-09-15 15:54:43

标签: android android-databinding

我有一个有效的Android Studio项目,该项目也通过USB安装在我的智能手机上,它是一个简单的基本计算器。 现在,我必须重写所教课程的代码,但Android Studio拒绝此导入

import [com.username.projectname].databinding.ActivityMainBinding;

该应用使用我在Module:app中启用的dataBinding并重新同步所有内容。

使用相同的代码,旧项目有效,新项目无效,导致导入失败。

3 个答案:

答案 0 :(得分:0)

XML需要像这样的<layout>包装,以便生成所需的类:

<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android">

    <!--suppress AndroidUnknownAttribute -->
    <data class=".databinding.ActivityMainBinding">
        <!-- add variables & imports into here -->
    </data>

    <!-- and add the RelativeLayout into here -->

</layout>

答案 1 :(得分:0)

Your layout should be between 

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable
            name="viewModel"
            type="yourPackage.MainViewModel" />
    </data>

// write layout below

</layout>


Sync project it will generate Binding class according to your activity_layout name
Like if layout name is activity_main then ActivityMainBinding will be generated. 

If it doesn't help, do invalidate the Cache/Restart project from the file menu.

答案 2 :(得分:0)

只需在基于模块的成绩文件中添加,以下内容

buildFeatures{
  viewBinding true
}