我想创建一个意图,在单击菜单项后启动一个新的活动,但我不确定如何做到这一点.我一直在阅读android文档,但我的实现不正确..在正确的方向上提供一些指导会有所帮助.我在下面列出了我的代码,并注释了我的问题区域,我认为我调用了错误的方法.

package com.jbsoft.SimpleFlashlight;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.Button;
import android.widget.Toast;

public class SimpleFlashLightActivity extends Activity {


  Button GreenButton;   // Declare instances of buttons to use later
  Button BlueButton;

  private static final int OK_MENU_ITEM = Menu.FIRST;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BlueButton = (Button) findViewById(R.id.bluebutton);
    BlueButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        //Display msg when user clicks Blue Button
        showColorChangeMsg();

        // Switch Activities on click
        Intent blueintent = new Intent(SimpleFlashLightActivity.this,
                                       BlueFlashLightActivity.class);
        startActivity(blueintent);

      }
    });
    //Install listener for second button
    GreenButton = (Button) findViewById(R.id.greenbutton);
    GreenButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        // Display msg when user clicks Green Button
        showColorChangeMsg();

        Intent greenintent = new        Intent(SimpleFlashLightActivity.this,
                                               GreenFlashLightActivty.class);
        startActivity(greenintent);

      }
    });

    ;

    /**************************************************************************************/

    // Method Declarations // THIS IS WHERE I'M HAVING A PROBLEM

    MenuItem AddColorButton = (MenuItem)findViewById(R.id.menu_insert);

    boolean onOptionsItemSelected(AddColorButton) {
      Intent intent = new  Intent(SimpleFlashLightActivity.this,
                                  BlueFlashLightActivity.class);
      startActivity(intent);
      return true;
      ;
    };
    /****************************************************************************************/

  }
  private void showColorChangeMsg()
  {
    Toast msgtoast = Toast.makeText(this.getBaseContext(), "SWITCH COLOR!",
                                    Toast.LENGTH_LONG);
    msgtoast.show();
  }
  private void showMsg(String msg) {
    Toast toast = Toast.makeText(this, msg, Toast.LENGTH_LONG);
    toast.show();
  }

  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.list_menu, menu);
    return true;

  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case OK_MENU_ITEM:
      showMsg("OK");
      break;
    }
    return super.onOptionsItemSelected(item);
  }

}

推荐答案

创建菜单的简单代码.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.game_menu, menu);
    return true;
}

菜单项 Select 的简单代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

您可以在下面的链接中找到更多详细信息.

Menus

Menu resource

Android相关问答推荐

列表的可变状态未正确更新

Jetpack Compose中的导航找不到NavHost类的名称为:startDestination";的参数

Google Play测试应用程序Crash-java.lang.NoSuchFieldError:没有Lkotlinx/coroutines/CoroutineExceptionHandler类型的字段键

如何在Jetpack Compose中使用Box Composable来实现这种布局?

如何从sqlite数据库中检索数据到碎片android?

Jetpack编写错误(java.lang.NoSuchMethodError:无接口方法startRestartGroup)

如何从URI中获取图像大小

我无法在底部导航栏中正确导航-Android底部导航视图

Android 14预测性背部手势-闪烁的白色背景色

在c中更新MVVMCross中TextView的Alpha#

错误:无法安装应用程序:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED (React-Native-Android-Studio)

DatePickerDialog (Android/Kotlin) 的两个问题

使用 Kotlin 在 Android 中导航时如何防止 ViewModel 被杀死?

围绕动态大小的内容包装 Jetpack Compose Row?

CoroutineScope 与挂起函数

如何像 XML 一样在 Compose Android Studio 中折叠/展开小部件代码区域/区域

如何在 Dolphin 中启用 android studio new logcat | 2021.3.1 金丝雀 6?

为 AlertDialog 的消息文本设置自定义字体

Android Compose:LazyColumn 和 Column with verticalScroll 的区别

如何在 Jetpack Compose 中禁用 TabRow 或 Tab 中的涟漪效应?