1

我正在尝试创建一个 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();'。我希望当我点击一个菜单按钮时,一个新的活动开始了。我该怎么做?

4

3 回答 3

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();
                     }
            }
    
于 2011-06-29T15:18:30.780 回答
0
Intent intent = new Intent(this, NewGame.class);
startActivity(intent);

您是否阅读过有关活动如何运作的信息?

于 2011-06-29T14:59:03.990 回答
0

这将启动活动 NewGame

Intent myIntent = new Intent(this, NewGame.class);
startActivity(myIntent);
于 2011-06-29T14:59:55.740 回答