при реализации DataBinding получаю ошибку error: cannot find symbol

код разметки фрагмента

<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <variable
            name="viewModel"
            type="com.example.goodweather.presentation.viewmodel.SignUpViewModel" />
    </data>
    <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/btnLogIn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/log_in"
            android:onClick="@{() -> viewModel.openLoginFragment()}"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/hint_for_btnLogIn" />

код ViewModel

class SignUpViewModel(private val context: Context) : ViewModel() {
    fun openLoginFragment (view: View) {
        view.setOnClickListener{
            view.findNavController().navigate(R.id.action_signUpFragment_to_loginFragment)
        }
    }

код Фрагмента

class SignUpFragment : Fragment() {

override fun onCreateView(
        inflater: LayoutInflater,
        @Nullable container: ViewGroup?,
        @Nullable savedInstanceState: Bundle?
    ): View? {
        val binding : FragmentSignupBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_signup, container, false)
        return binding.root
    }

ошибка

D:\1022\Android\GoodWeather\app\build\generated\source\kapt\debug\com\example\goodweather\DataBinderMapperImpl.java:9: error: cannot find symbol
    import com.example.goodweather.databinding.FragmentSignupBindingImpl;
                                              ^
      symbol:   class FragmentSignupBindingImpl
      location: package com.example.goodweather.databinding

Сгенерированный класс

import android.util.SparseArray;
import android.util.SparseIntArray;
import android.view.View;
import androidx.databinding.DataBinderMapper;
import androidx.databinding.DataBindingComponent;
import androidx.databinding.ViewDataBinding;
import com.example.goodweather.databinding.FragmentSignupBindingImpl; // здесь не видит FragmentSignupBindingImpl
import java.lang.IllegalArgumentException;
import java.lang.Integer;
import java.lang.Object;
import java.lang.Override;
import java.lang.RuntimeException;
import java.lang.String;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class DataBinderMapperImpl extends DataBinderMapper { // здесь говорит Class 'DataBinderMapperImpl' must either be declared abstract or implement abstract method 'getDataBinder(DataBindingComponent, View, int)' in 'DataBinderMapper'
  private static final int LAYOUT_FRAGMENTSIGNUP = 1;

  private static final SparseIntArray INTERNAL_LAYOUT_ID_LOOKUP = new SparseIntArray(1);

  static {
    INTERNAL_LAYOUT_ID_LOOKUP.put(com.example.goodweather.R.layout.fragment_signup, LAYOUT_FRAGMENTSIGNUP);
  }

  @Override
  public ViewDataBinding getDataBinder(DataBindingComponent component, View view, int layoutId) {
    int localizedLayoutId = INTERNAL_LAYOUT_ID_LOOKUP.get(layoutId);
    if(localizedLayoutId > 0) {
      final Object tag = view.getTag();
      if(tag == null) {
        throw new RuntimeException("view must have a tag");
      }
      switch(localizedLayoutId) {
        case  LAYOUT_FRAGMENTSIGNUP: {
          if ("layout/fragment_signup_0".equals(tag)) {
            return new FragmentSignupBindingImpl(component, view);
          }
          throw new IllegalArgumentException("The tag for fragment_signup is invalid. Received: " + tag);
        }
      }
    }
    return null;
  }

  @Override
  public ViewDataBinding getDataBinder(DataBindingComponent component, View[] views, int layoutId) {
    if(views == null || views.length == 0) {
      return null;
    }
    int localizedLayoutId = INTERNAL_LAYOUT_ID_LOOKUP.get(layoutId);
    if(localizedLayoutId > 0) {
      final Object tag = views[0].getTag();
      if(tag == null) {
        throw new RuntimeException("view must have a tag");
      }
      switch(localizedLayoutId) {
      }
    }
    return null;
  }

  @Override
  public int getLayoutId(String tag) {
    if (tag == null) {
      return 0;
    }
    Integer tmpVal = InnerLayoutIdLookup.sKeys.get(tag);
    return tmpVal == null ? 0 : tmpVal;
  }

  @Override
  public String convertBrIdToString(int localId) {
    String tmpVal = InnerBrLookup.sKeys.get(localId);
    return tmpVal;
  }

  @Override
  public List<DataBinderMapper> collectDependencies() {
    ArrayList<DataBinderMapper> result = new ArrayList<DataBinderMapper>(1);
    result.add(new androidx.databinding.library.baseAdapters.DataBinderMapperImpl());
    return result;
  }

  private static class InnerBrLookup {
    static final SparseArray<String> sKeys = new SparseArray<String>(1);

    static {
      sKeys.put(0, "_all");
    }
  }

  private static class InnerLayoutIdLookup {
    static final HashMap<String, Integer> sKeys = new HashMap<String, Integer>(1);

    static {
      sKeys.put("layout/fragment_signup_0", com.example.goodweather.R.layout.fragment_signup);
    }
  }
}

Ответы (0 шт):