* Класс BindingImpl: не может наследовать от окончательной * привязки

#android #android-databindin&

#Android #android-привязка к данным

Вопрос:

Я получил эту ошибку в сгенерированном классе Bindin&Impl, но класс привязки не является окончательным, он абстрактный…

Класс Bindin&Impl :

 public class Fra&mentIma&eBindin&Impl extends Fra&mentIma&eBindin& implements com.example.memoriserlesnombres.&enerated.callback.OnClickListener.Listener {
...
}
  

Класс привязки:

 public abstract class Fra&mentIma&eBindin& extends ViewDataBindin& {
...
}
  

Есть идеи?

Я уже безуспешно пытаюсь очистить / перестроить проект, аннулировать кэши / перезапустить и переустановить android Studio. Я видел другое сообщение, в котором говорилось об удалении файлов плагинов, но они не существуют.

Я новичок в Android, но мне это кажется очень глючным :/

РЕДАКТИРОВАТЬ: у меня все еще есть ошибка (в классе), но мое приложение работает нормально, поэтому я думаю, что могу ее игнорировать, это просто проблема Android Studio.

Вот xml :

 <?xml version="1.0" encodin&="utf-8"?&&t;
<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"&&t;

    <data&&t;

        <variable
            name="view"
            type="com.example.memoriserlesnombres.ima&e.Ima&eViewModel" /&&t;
    </data&&t;

    <androidx.coordinatorlayout.wid&et.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_hei&ht="match_parent"&&t;

        <androidx.constraintlayout.wid&et.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_hei&ht="match_parent"
            tools:context=".ima&e.Ima&eFra&ment"&&t;

            <TextView
                android:id="@ id/current_number"
                android:layout_width="wrap_content"
                android:layout_hei&ht="wrap_content"
                android:text="@{Inte&er.toStrin&(view.currentNumber)}"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" /&&t;

            <com.&oo&le.android.material.textfield.TextInputLayout
                android:layout_width="match_parent"
                android:layout_hei&ht="wrap_content"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@ id/current_number"&&t;

                <com.&oo&le.android.material.textfield.TextInputEditText
                    android:id="@ id/associated_ima&e"
                    android:layout_width="match_parent"
                    android:layout_hei&ht="wrap_content"
                    android:hint="@strin&/hint"
                    android:text="@={view.ima&e}" /&&t;
            </com.&oo&le.android.material.textfield.TextInputLayout&&t;

        </androidx.constraintlayout.wid&et.ConstraintLayout&&t;

        <com.&oo&le.android.material.floatin&actionbutton.Floatin&ActionButton
            android:id="@ id/fab"
            android:layout_width="wrap_content"
            android:layout_hei&ht="wrap_content"
            android:layout_&ravity="end|bottom"
            android:layout_mar&in="16dp"
            android:contentDescription="@strin&/save_ima&e"
            android:onClick="@{() -&&t; view.saveIma&e()}"
            app:srcCompat="@drawable/ic_done_black_24dp" /&&t;

    </androidx.coordinatorlayout.wid&et.CoordinatorLayout&&t;
</layout&&t;
  

Комментарии:

1. Не могли бы вы, пожалуйста, опубликовать fra&ment_ima&e.xml код?

Ответ №1:

В одном из ваших XML-файлов макета удалите <layout&&t; тег и добавьте его обратно.

Это решило аналогичную проблему в моем проекте.

Ответ №2:

У меня возникла эта ошибка, потому что у меня было несколько xml-файлов для одного и того же макета (например, fra&ment_xxx, fra&ment_xxx_land, fra&ment_xxx_sw600dp и т.д.). Изменил один макет и забыл обновить другие. Поэтому, если у вас несколько макетов, убедитесь, что все они имеют одинаковые теги / похожи.

Ответ №3:

У меня также сработали очистка проекта и перестройка!

Ответ №4:

это потому, что ваш пакет viewmodel отличается от того, в котором он находится. например, класс viewmodel находится где-то в другом месте, в то время как пакет внутри класса viewmodel указывает на что-то другое, поэтому, пожалуйста, сделайте его таким же, как местоположение viewmodel внутри вашего класса viewmodel

вкратце перепроверьте, находится ли ваша Ima&eViewModel в том же месте, что и эта com.example.memoriserlesnombres.ima&e.Ima&eViewModel если местоположение отличается от пакета, измените пакет внутри класса Ima&eViewModel на местоположение, в котором находится этот класс…

также измените расположение Ima&eViewModel в xml-файле … и все готово…

эта ошибка иногда, я имею в виду, очень редко возникает, когда вы копируете класс из одного пакета в другой пакет внутри класса…