我想使用数据绑定库更改工具栏标题.一切正常,除了BottomNavigationView的监听器,即我有一个错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: Found data binding errors.
****/ data binding error ****msg:Could not resolve viewmodel::onNavigationClick as a listener.
file:D:\Replacements\app\src\main\res\layout\activity_main.xml
loc:85:40 - 85:67
****\ data binding error ****
Run Code Online (Sandbox Code Playgroud)
我认为这是由用于关联xml属性的setter的错误名称引起的.在xml BottomNavigationView中app:onNavigationItemSelected,但是BottomNavigationView 的setter setOnNavigationItemSelectedListener不是setOnNavigationItemSelected.如果我是对的,解决方案是在Android文档中.但是我应该把这个注释放在哪里?在哪个级别?
换句话说,我应该怎么做才能在ViewModel中使用代码来控制BottomNavigationView上的点击?
这是文件:
ActivityMain.java
public class ActivityMain extends AppCompatActivity {
private ActivityMainViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initiating ViewModel to Activity
viewModel = ViewModelProviders.of(this).get(ActivityMainViewModel.class); …Run Code Online (Sandbox Code Playgroud)