AroidStudio3.6.1中自动生成的ActivityMainBindingImpl提示无法继承ActivityMainBinding类该如何解决?

问题详述

在写AS的数据绑定练习项目时,写好的app在虚拟机上运行出现了keeps stopping的闪退现象。检查代码后发现由AS自动生成的ActivityMainBindingImpl类出现了红色下划线提示。报错信息为Cannot inherit from final "..."
图片说明

相关代码信息

Databinding的构建代码为

public class MainActivity extends AppCompatActivity {
    MyViewModel myViewModel;
    ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
        binding.setData(myViewModel);
        binding.setLifecycleOwner(this);
    }
}

其中_MyViewModel_ 是由_ViewModel_ 派生出的一个子类,在_activity_main.xml_ 布局文件中已经设置为DataBinding Layout,并设置了一个变量data

<data>
        <variable
            name="data"
            type="com.example.ex1scoring.MyViewModel" />
    </data>

已经进行的尝试

1.检查确认了类名没有出错,页面布局文件名为_activity_main.xml _。

2.检查了生成的父类ActivityMainBinding的代码,虽然类的成员属性都有final修饰,但没有发现类前有final的修饰(以下为ActivityMainBinding类的首行)

public abstract class ActivityMainBinding extends ViewDataBinding 
{//todo}

推测可能的原因

在将myViewModel绑定到布局页面上的时候使用了

myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);

但是AS3.6.1似乎已经不推荐这种用法了。在代码提示中有划去的横线。不知道是不是因为这个问题。翻看官方文档后推荐直接使用ViewModelProvider来进行构造。但是没有具体的实例,作为新手我没能明白具体应该怎么实现。

希望大家能给予一些帮助。谢谢各位大佬!

```kotlin

import androidx.activity.viewModels
val viewModel by viewModels<YourViewModel>()

```