小编Daw*_*iuk的帖子

使用数据绑定添加BottomNavigationView的单击侦听器

我想使用数据绑定库更改工具栏标题.一切正常,除了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)

data-binding android android-databinding

6
推荐指数
1
解决办法
3044
查看次数