设置跳转新Activity按钮时出现unreachable statement错误如何解决
错误原因
- 核心问题是你的
onCreateOptionsMenu方法里,return true;语句写在了按钮初始化代码的前面。Java方法执行到return语句就会终止当前方法的执行,return之后的所有代码永远不会被运行,所以编译器直接抛出unreachable statement(不可达语句)错误。 - 额外的逻辑问题:你把Activity页面的按钮初始化、点击事件绑定逻辑错误写在了菜单创建方法里,而且三个按钮的点击事件互相嵌套,完全不符合常规的代码书写逻辑。
修复后的正确代码
package com.example.ceibasxi; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; public class PaginaDos extends AppCompatActivity { Button establecimientos; Button servicios; Button productos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pagina_dos); Toolbar myToolbar = findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); // 三个按钮的初始化、点击事件统一放在onCreate中 establecimientos = findViewById(R.id.establecimientos); establecimientos.setOnClickListener(v -> { // 这里补全establecimientos按钮对应的点击跳转逻辑即可 }); servicios = findViewById(R.id.servicios); servicios.setOnClickListener(v1 -> { Intent intent1 = new Intent(PaginaDos.this, PaginaServicios.class); startActivity(intent1); }); productos = findViewById(R.id.producto); productos.setOnClickListener(v11 -> { Intent intent2 = new Intent(PaginaDos.this, PaginaProductos.class); startActivity(intent2); }); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_appbar, menu); return true; } }
内容的提问来源于stack exchange,提问作者Ambrowas
相关产品推荐
相关产品推荐

