我正在尝试使用底部导航视图在单击时打开另一个活动。由于某种原因,我在最后一行出现错误,该行应定义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);
这里有什么问题的想法吗?
答案 0 :(得分:5)
错误告诉您它找不到mOnNavigationItemSelectedListener,因为您是在其定义内调用它的
您必须将这两行移到侦听器声明之外。将它们放在onCreate方法上,例如:
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);