0

我对此非常陌生。我有一个快速的问题。我在第 30 行 (establecimientos = findViewById(R.id.establecimientos) 上收到一条“无法访问的声明”,同时尝试设置该按钮以将我带到一个新活动。您能帮忙指出什么问题吗,谢谢?

这就是我的 java 的样子:

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);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_appbar, menu);
        return true;


establecimientos = findViewById(R.id.establecimientos);
establecimientos.setOnClickListener(v -> {

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);}

);});})
    ;}}

4

1 回答 1

0

在您的代码中,您具有以下内容:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_appbar, menu);
    return true;

在此之后你有很多代码永远不会在方法中执行,onCreateOptionsMenu()因为你有一个return语句。return此方法中不会执行该语句之后的任何内容。

在我看来,这段代码应该在onCreate()方法内部而不是在onCreateOptionsMenu()方法内部。

也许您只是移动了代码并感到困惑。

于 2021-12-01T23:15:12.610 回答