底部导航视图打开新活动

Rve*_*Rve 0 java android android-activity android-bottom-nav-view

我正在尝试使用底部导航视图在单击时打开另一个活动.出于某种原因,我在最后一行收到错误,应该定义点击功能.我在另一个项目上测试过,它运行得很好.

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

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);
    }
Run Code Online (Sandbox Code Playgroud)

我在另一个项目中尝试了完全相同的代码,但它确实有效.我在这里得到的错误

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

关于这里出了什么问题的任何想法?

小智 5

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

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

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
Run Code Online (Sandbox Code Playgroud)