在Android中创建上下文菜单

时间:2011-06-29 14:54:15

标签: android android-contextmenu

我正在尝试创建一个Android上下文菜单(按下'菜单'按钮时弹出的菜单)。我已经阅读了所有可以找到的教程,没有任何帮助。我是android开发的新手。

我已经创建了menu.xml文件,但我不明白如何为ID提供功能。这就是我的代码的样子:

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

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

我没有得到的东西:如何处理'newGame();'和'showHelp();'。我希望当我点击菜单按钮时,会启动一项新活动。我该怎么做?

3 个答案:

答案 0 :(得分:1)

首先,您的代码是选项菜单而不是上下文菜单 你可以调用下面的新活动

  1. 您可以直接调用新活动,而无需使用

    选项菜单
    Intent myIntent = new Intent(this, NewGame.class);
    startActivity(myIntent);
    
  2. 如果您想在按菜单按钮上为用户提供选项,请尝试以下代码

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
    
            menu.add(0, 0, 0, "New Game");
            menu.add(0, 1, 1, "Help");
            return super.onCreateOptionsMenu(menu);
        }
    
    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    
            if(item.getTitle().toString.equalsIgnoreCase("New Game")) {
    
                Intent intent = new Intent(this, NewGame.class);
                startActivity(intent);
                finish();
              }
                else if(item.getTitle().toString.equalsIgnoreCase("Help")) {
                     Toast.makeText(getBaseContext(), "Help", 2000).show();
                     }
            }
    

答案 1 :(得分:0)

Intent intent = new Intent(this, NewGame.class);
startActivity(intent);

您是否阅读了how activity works

答案 2 :(得分:0)

这将启动活动NewGame

Intent myIntent = new Intent(this, NewGame.class);
startActivity(myIntent);