无法生成视图活页夹

Cannot generate view binder

不知道怎么解决这个问题

运行 我进入 android 工作室的时间错误

error: cannot generate view binders java.lang.ClassCastException: android.databinding.tool.expr.StaticIdentifierExpr cannot be cast to android.databinding.tool.expr.ViewFieldExpr

我的代码

class EditProfileViewModel : ViewModel() {


    fun onEditProfileInfoListner(view: View) {
        val intent = Intent(view.context, EditProfileInfoActivity::class.java)
        view.context.startActivity(intent)
    }
}

Activity 文件

class EditProfileActivity : AppCompatActivity() {

    lateinit var binding: ActivityEditProfileBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //setContentView(R.layout.activity_edit_profile)

        binding = DataBindingUtil.setContentView(this, R.layout.activity_edit_profile)
        val viewModel = ViewModelProviders.of(this).get(EditProfileViewModel::class.java)
        binding.editProfileViewModel = viewModel
    }
}

我的XML文件

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

    <data>
        <variable name="EditProfileViewModel" type="com.crushmeet.ui.profile.EditProfileViewModel"/>
    </data>

我试过使缓存无效,清理项目,重建它, 还尝试删除文件

这里的问题是你得到一个 ClassCastException

Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.

您可以遵循的绑定示例:

XML

 <data>
    <variable
        name="viewmodel"
        type="com.example.databinding.MainViewModel" />
</data>

Activity

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    val vm = ViewModelProviders.of(this)[MainViewModel::class.java]

    val binding: ActivityMainBinding =
        DataBindingUtil.setContentView(this, R.layout.activity_main)
    binding.viewmodel = vm
    binding.lifecycleOwner = this
}