Android Studio中Fragment切换代码case语句报错:':' or '->' expected
解决Fragment切换代码中
':' or '->' expected错误 你的代码报错是因为switch case语句的标签后必须使用冒号:,但你在case R.id.home和case R.id.settings后面误写了分号;,编译器无法识别这种语法,因此抛出':' or '->' expected的错误提示。
修正后的完整代码如下:
bottomNavigationView = findViewById(R.id.bottom_navigation); getSupportFragmentManager().beginTransaction().replace(R.id.container, homeFragment).commit(); bottomNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.home: getSupportFragmentManager().beginTransaction().replace(R.id.container, homeFragment).commit(); return true; case R.id.settings: getSupportFragmentManager().beginTransaction().replace(R.id.container, settingsFragment).commit(); return true; } return false; } });
只需要把两个case后的分号;替换成冒号:即可解决该语法错误。
内容的提问来源于stack exchange,提问作者Sem
相关产品推荐
相关产品推荐

