无法解析底部导航视图中的绑定

分享于2022年09月08日 android java 问答
【问题标题】:Can't resolve binding in bottom navigation view无法解析底部导航视图中的绑定
【发布时间】:2022-08-02 09:39:26
【问题描述】:

我在 binding.bottom_navigation.setOnItemSelectedListener(item -> { 我正在附加下面的代码中不断出错,请看一下并给出一些解决方案。

       ActivityMainBinding binding;
    
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
        replaceFragment(new HomeFragment());

        binding.bottom_navigation.setOnItemSelectedListener(item -> {

                switch (item.getItemId()) {

                    case R.id.bnav_categories:
                        replaceFragment(new GalleryFragment());
                        break;
                    case R.id.bnav_latest:
//                    replaceFragment(new GalleryFragment());
                        break;
                    case R.id.bnav_home:
                        replaceFragment(new HomeFragment());
                        break;
                    case R.id.bnav_popular:
                        replaceFragment(new SlideshowFragment());
                        break;
                    case R.id.bnav_Random:
//                    replaceFragment(new GalleryFragment());
                        break;


                }

                return true;


        });

    }

我得到的错误是: -

MainActivity.java:157: error: cannot find symbol
        binding.bottom_navigation.setOnItemSelectedListener(item -> {
               ^
  symbol:   variable bottom_navigation
  location: variable binding of type ActivityMainBinding  

activity_main.xml 文件是:

    

    <1234563>
    在您的问题中包含错误,以便了解实际问题。
    <1234563>
    @FrenyChristian 我附上了我得到的错误。请看一看
    <1234563>
    还包括布局文件 activity_main.xml
    <1234563>
    在 mainactivity.java 文件中,我收到两个错误 1- binding.bottomNavigation.setOnItemSelectedListener(item -> { 2- switch (item.getItemId()) {
    <1234563>
    activity_main.xml 文件:-

【解决方案1】:

确保您在 xml 的 BottomNavigation 中设置了 id

android:id="@+id/bottom_navigation"

尝试将其用作

binding.bottomNavigation..setOnItemSelectedListener(item -> {
      //add code
});

使用视图绑定视图的 id 会自动转换为驼峰式

【讨论】: