无法生成视图活页夹
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
}
不知道怎么解决这个问题
运行 我进入 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
}