0

收到如下错误,我应该怎么做才能解决这个错误。

D:xx\files\ExpoCastDeviceSelectFragment.java:39: error: package xxx.ast.databinding does not exist
import xxx.ast.databinding.DiscBinding;

DiscFragment.java:

import xxx.ast.databinding.DiscBinding;

 @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        DiscBinding discBinding;
        discBinding = DataBindingUtil.setContentView(getActivity(), R.layout.disc);

        /* Intantiate the view model */
        xView = ViewModelProviders.of(this, xViewModelFactory).get(ViewModel.class);
        xView.getViewModelState().observe(getActivity(), this);
     
        discBinding.setViewModel(mViewModel);
        discBinding.executePendingBindings();
        ButterKnife.bind(getActivity());
    
    }

光盘.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools">
        <data>
            <variable
                name="discover"
                type="xx.ViewModel" />
        </data>
    
        <androidx.coordinatorlayout.widget.CoordinatorLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
    
            <LinearLayout
                android:id="@+id/disc_dis"
                android:layout_width="match_parent"
                android:layout_height="@dimen/bottom_sheet_peek_height"
                android:background="@{discover.isEnabled ? @drawable/corner_dark : @drawable/corner_light}"
                android:orientation="vertical">
    
                <TextView
                    android:id="@+id/to"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="@string/to"
                    android:textAlignment="center"
                    android:textColor="@color/light_gray_color"
                    android:textSize="@dimen/pd"
                    android:visibility="gone"
                    android:textStyle="bold" />
    
                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
    
                    <androidx.recyclerview.widget.RecyclerView
                        android:id="@+id/disys"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:visibility="gone"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintStart_toStartOf="parent"
                        tools:listitem="@layout/item_disy_item" />
    
                    <ProgressBar
                        android:id="@+id/disc"
                        style="?android:attr/progressBarStyleSmall"
                        android:layout_width="@dimen/progress_bar"
                        android:layout_height="@dimen/progress_bar"
                        android:layout_gravity="center"
                        android:layout_marginTop="@dimen/text_width"
                        android:indeterminate="true"
                        android:progressBackgroundTint="@color/background_color"
                        android:progressTint="@color/progressbar_color"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintHorizontal_bias="0.474"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:layout_constraintVertical_bias="0.326" />
    
                    <TextView
                        android:id="@+id/state_message"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="@dimen/pd6"
                        android:gravity="center"
                        android:paddingStart="@dimen/element_margin"
                        android:paddingEnd="@dimen/element_margin"
                        android:text="@string/progress_message"
                        android:textColor="@{discover.isEnabled ? @color/text_white : @color/text_black_color}"
                        android:textSize="@dimen/size"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toBottomOf="@+id/disc" />
    
                    <androidx.appcompat.widget.AppCompatButton
                        android:id="@+id/btn_error_action"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="@dimen/pd12"
                        android:background="@color/action_btn_background"
                        android:padding="@dimen/action_btn_padding"
                        android:textAllCaps="false"
                        android:textColor="@color/white"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintEnd_toEndOf="parent"
                        app:layout_constraintTop_toBottomOf="@+id/state_message"
                        tools:text="@string/expo_turn_bluetooth_on_label" />
                </androidx.constraintlayout.widget.ConstraintLayout>
            </LinearLayout>
        </androidx.coordinatorlayout.widget.CoordinatorLayout>
    </layout>


    <color name="text_white">#FFFFFFFF</color>
    <color name="text_black_color">#272626</color>

corner_dark.xml : 

    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:topLeftRadius="16dp"
            android:topRightRadius="16dp"
            android:bottomLeftRadius="0dp"
            android:bottomRightRadius="0dp"/>
        <solid android:color="@color/darktheme"></solid>
        <size android:height="48dp"/>
        <padding android:left="4dp" android:top="10dp" android:right="4dp" android:bottom="4dp" />
    </shape>


corner_light.xml : 

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:topLeftRadius="12dp"
            android:topRightRadius="12dp"
            android:bottomLeftRadius="0dp"
            android:bottomRightRadius="0dp"/>
        <solid android:color="@color/white"></solid>
        <size android:height="48dp"/>
        <padding android:left="4dp" android:top="10dp" android:right="4dp" android:bottom="4dp" />
    </shape>
4

1 回答 1

1

我认为您尚未在 build.gradle 文件中添加数据绑定依赖项,因此首先您必须添加这些依赖项

DataBinging 官方文档 - https://developer.android.com/topic/libraries/data-binding/start

以这种方式添加 -

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

ViewBinding 官方文档 - https://developer.android.com/topic/libraries/view-binding

我个人推荐视图绑定,因为易于使用而不是数据绑定,因为我个人使用视图绑定......

于 2021-04-02T06:00:31.323 回答