无法删除生成的DataBinding代码

时间:2016-12-23 14:45:20

标签: android android-studio android-databinding

我在我的一个类DataBinding中使用了CardRecicleViewAdapterTech.class,但是我导入了一个不支持DataBinding的库,我切换到该类的butter knife。 问题是,当我运行项目时,Android Studio总是生成与CardRecicleViewAdapterTech.class相关的类绑定,这会导致崩溃。生成的类是:

  

CardViewTechBinding.java

我已经在Android Studio数据绑定文件夹中删除了该java文件,但即使我在databinding或我的xml中不再使用class,它也会一次又一次地生成。

这是我不使用dataBinding的布局

  

card_view_tech.xml

即使我没有使用CardViewTechBinding.java

,也会生成dataBinding
<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:ProgressWheel="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_tech"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:layout_gravity="center"
        android:layout_marginTop="@dimen/standard_margin"
        android:layout_marginLeft="@dimen/standard_margin"
        android:layout_marginRight="@dimen/standard_margin"
        card_view:cardCornerRadius="4dp"
        card_view:cardBackgroundColor="@color/primary_light">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:text="TextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/text_view_technologie_name" />

            <com.pro.soft.apppresentation.ProgressWheel
                android:id="@+id/pw_spinner"
                android:layout_width="200dp"
                android:layout_height="200dp"
                android:layout_centerInParent="true"
                ProgressWheel:pwText="Authenticating..."
                ProgressWheel:pwTextColor="#222"
                ProgressWheel:pwTextSize="14sp"
                ProgressWheel:pwRimColor="#330097D6"
                ProgressWheel:pwBarLength="60dp"
                ProgressWheel:pwBarColor="#0097D6"
                ProgressWheel:pwBarWidth="5dp"
                ProgressWheel:pwRimWidth="2dp" />
        </LinearLayout>

    </android.support.v7.widget.CardView>

我尝试重启我的Pc和Invalidate缓存并重启Android Studio但没有成功。请帮忙。

4 个答案:

答案 0 :(得分:7)

按此顺序:

1.- Remove your file generated (build folder)
2.- Clean your project
3.- Invalidate cache and restart Android Studio
4.- Restart computer

答案 1 :(得分:0)

我遇到了同样的问题,这是由于XML中有<layout>根标签引起的。我没有意识到这些标签与数据绑定有关,并且编译器在这方面也没有帮助。

答案 2 :(得分:0)

在应用程序build.gradle中,首先使用以下命令将其禁用:

dataBinding { enabled = false; }

并同步项目,然后启用并同步项目

答案 3 :(得分:0)

在我的linux中,我通过

解决了这个问题
  1. 删除构建文件(转到项目>应用程序>构建)
  2. 从 (Build>Clean) 运行 clean 命令

不要按 REBUILD 或使缓存失效。关闭android studio并重启机器。

3.拉取旧分支并构建它。

4.取最近分支的pull,正常运行