底部导航视图以打开新活动

时间:2018-09-12 11:05:53

标签: java android android-activity android-bottom-nav-view

我正在尝试使用底部导航视图在单击时打开另一个活动。由于某种原因,我在最后一行出现错误,该行应定义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);

这里有什么问题的想法吗?

1 个答案:

答案 0 :(得分:5)

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

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

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