You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:22:34