在Android项目中,无法导入databinding.ActivityMainBinding。

4

我有一个可用的Android Studio项目,也已经通过USB安装在我的智能手机上,它是一个简单的基本计算器。 现在我需要为我要教授的课程重写代码,但是Android Studio拒绝导入。

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

这个应用程序使用了数据绑定技术,我已经在“Module:app”中启用了它并重新同步了所有内容。

旧项目可以正常工作,但新项目无法运行,尽管代码相同,因为这个导入被拒绝了。


查看XML文件中是否定义,然后构建项目;同步可能不足够。 - Martin Zeitler
原始的、可工作的计算器应用程序没有定义任何关于数据绑定的内容。我看到的一个不寻常的代码行是用于RelativeLayout的id。 - Gaspare
请查看 https://dev59.com/01kS5IYBdhLWcg3ww49d#51579759。 - Khemraj Sharma
请查看更新 https://dev59.com/qFMI5IYBdhLWcg3wj8KF#72360048 - Mori
4个回答

2
XML需要像这样使用包装...以生成所需的类:
<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android">

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

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

</layout>

这对我来说是新的。旧的应用程序在XML布局文件中没有数据标签。我从未需要使用它。我在.java文件中声明变量和导入。XML文件包含了所有图形问题,通过ID将它们与Java对象链接起来。 - Gaspare
我花了几个小时寻找解决方案,但不知何故这是唯一有效的方法。必须指定<data>标签,否则类将无法为我生成。 - nonbirithm
当不生成绑定时,甚至可能需要添加一个空的 <data /> 节点。 - Martin Zeitler

2
只需在基于模块的成绩文件中添加以下内容。
buildFeatures{
  viewBinding true
}

当面对这个问题时,我发现清除它、重新同步项目,然后重新输入有所帮助。 - rowenarrow

0

将以下代码添加到 build.gradle (:app) 文件中:

buildFeatures{ viewBinding true;}

他已经在他的应用中启用了数据绑定。 - Alex Rmcf
目前你的回答不够清晰,请[编辑]以添加更多细节,帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

0
先生,您只需要在activitymain.xml文件中的布局中添加以下行即可。
class=".databinding.ActivityMainBinding"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接