Android 原因:无法';不要猜测com.example.newmvvm.ListViewModel.ListViewModel
我正在尝试一个简单的程序(带有editbox和一个按钮),以了解Android中的MVVM和数据绑定功能。我在activity_main.xml中添加字段时出错。 我已经重命名了包和类名,但是得到了错误“原因:无法猜测com.example.newmvvm.ListViewModel.ListViewModel” 我已经更新了下面的代码。请帮助理解错误的原因 已更新 主要活动: listViewModel: DB: activity_main.xml: 运行日志:Android 原因:无法';不要猜测com.example.newmvvm.ListViewModel.ListViewModel,android,Android,我正在尝试一个简单的程序(带有editbox和一个按钮),以了解Android中的MVVM和数据绑定功能。我在activity_main.xml中添加字段时出错。 我已经重命名了包和类名,但是得到了错误“原因:无法猜测com.example.newmvvm.ListViewModel.ListViewModel” 我已经更新了下面的代码。请帮助理解错误的原因 已更新 主要活动: listViewModel: DB: activity_main.xml: 运行日志: 您没有为布局生成数据绑定对象,
您没有为布局生成数据绑定对象,即
MainActivityBinding binding = DataBindingUtil.setContentView(this,R.layout.main_activity);
现在在活动中使用viewmodel设置数据绑定
Yourviewmodelclass viewModel = ViewModelProviders.of(this).get(yourviewmodelclass.class);
binding.SetviewModel(viewModel)
并且您没有设置视图模型您没有为布局生成数据绑定对象,即
MainActivityBinding binding = DataBindingUtil.setContentView(this,R.layout.main_activity);
现在在活动中使用viewmodel设置数据绑定
Yourviewmodelclass viewModel = ViewModelProviders.of(this).get(yourviewmodelclass.class);
binding.SetviewModel(viewModel)
您没有设置视图模型的问题就在这里
com.example.newmvvm.ListViewModel.ListViewModel
我猜这是您的包名ListViewModel
,它包含这个类ListViewModel
在数据绑定中
包名应为小写,而类
名称应以大写开头。如果不是,则找不到
使用此ListViewModel
重命名此包名ListViewModel
并使用此listViewModel
重命名您的listViewModel
可观察类
你的类型看起来像这样
type="com.example.newmvvm.listViewModel.ListViewModel"
添加并删除此行。listViewModel
不是viewmodel
它是可观察的
类
listViewModel viewModel = ViewModelProviders.of(this).get(listViewModel.class);
问题就在这里
com.example.newmvvm.ListViewModel.ListViewModel
我猜这是您的包名ListViewModel
,它包含这个类ListViewModel
在数据绑定中
包名应为小写,而类
名称应以大写开头。如果不是,则找不到
使用此ListViewModel
重命名此包名ListViewModel
并使用此listViewModel
重命名您的listViewModel
可观察类
你的类型看起来像这样
type="com.example.newmvvm.listViewModel.ListViewModel"
添加并删除此行。listViewModel
不是viewmodel
它是可观察的
类
listViewModel viewModel = ViewModelProviders.of(this).get(listViewModel.class);
type=“com.example.newmvvm.ListViewModel.ListViewModel”是错误的原因。但是我觉得目录名和类名是适当提供的。listViewModel java类扩展了ViewModel,是com.example下listViewModel文件夹的一部分。newmvvmtype=“com.example.newmvvm.listViewModel.listViewModel”是错误的原因。但是我觉得目录名和类名提供得很恰当。listViewModel java类扩展了ViewModel,并且是com.example.newMVVMThank下的listViewModel文件夹的一部分。我已经更新了上面的代码,仍然有相同的错误。您的ViewModel类需要扩展ViewModel。更改为“公共类listViewModel扩展了ViewModel,BaseObservable{”,仍然相同error@Override受保护的void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);ActivityMainBinding ActivityMainBinding=DataBindingUtil.setContentView(this,R.layout.activity_main);ActivityMainBinding.setViewModel(新建listViewModel());listViewModel viewModel=ViewModelProviders.of(this).get(listViewModel.class);}从ExtendHanks中删除baseObseravle类。我已更新了上面的代码,仍然存在相同的错误。您的viewModel类需要扩展viewModel。更改为“公共类listViewModel扩展viewModel,BaseObservable”{”“还是一样error@Override受保护的void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);ActivityMainBinding ActivityMainBinding=DataBindingUtil.setContentView(this,R.layout.activity_main);ActivityMainBinding.setViewModel(new listViewModel());listViewModel viewModel=ViewModelProviders.of(this).get(listViewModel.class);}从extend*中删除baseObseravle类出错原因:任务执行失败:app:DataBindingGenBaseClasseDebug'.>无法猜测com.example.newmvvm.listviewmodel.listviewmodel我将类名重命名为listviewmodel-all caps。它已编译。是的。谢谢。*出错原因:任务执行失败:app:dataBindingGenBaseCLassedBug'.>无法猜测com.example.newmvvm.listviewmodel.listviewmodel我将类名重命名为listviewmodel-所有大写。它已编译。是的。谢谢。
type="com.example.newmvvm.listViewModel.ListViewModel"
listViewModel viewModel = ViewModelProviders.of(this).get(listViewModel.class);