我正在尝试使用底部导航视图在单击时打开另一个活动。由于某种原因,我在最后一行出现错误,该行应定义click函数。我在另一个项目上对其进行了测试,并且效果很好。

这是我的活动的结尾部分:

private BottomNavigationView.OnNavigationItemSelectedListener
mOnNavigationItemSelectedListener
        = new BottomNavigationView.OnNavigationItemSelectedListener() {

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case R.id.navigation_home:
                Intent kampIntent = new Intent(SortimentActivity.this, CampaignActivity.class);
                startActivity(kampIntent);
                mTextMessage.setText(R.string.title_home);
                break;
            case R.id.navigation_dashboard:
                mTextMessage.setText(R.string.title_dashboard);
                break;
        }
        return false;


        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    }


我在另一个项目中尝试了完全相同的代码,并且成功了。
我到这里的错误是


  “无法解析符号”
  .setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);


对这里出什么问题有任何想法吗?

最佳答案

错误告诉您找不到mOnNavigationItemSelectedListener,因为您在其定义内调用它

您必须将这两行移到侦听器声明之外。将它们放在onCreate方法上,例如:

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

关于java - 底部导航 View 以打开新 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52293672/

10-09 04:37