2013-04-27 126 views
-1

我想在我的应用程序中添加菜单,但它不起作用。菜单的项目正确显示,但是当我选择其中一个菜单时,则什么也没有发生。 另外我想在item2上显示一个提醒对话框。 plz帮助我。我是android新手。菜单项无法点击

在此先感谢

我已经尝试了本

public boolean onCreateOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    MenuInflater in=getMenuInflater(); 
    in.inflate(R.menu.activity_main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_SHORT).show(); 
    switch (item.getItemId()) { 
     case R.id.item1: 
      this.finish(); 
      break; 
     case R.id.item2: 
      AlertDialog.Builder bb=new AlertDialog.Builder(this); 
      bb.setMessage("Are you sure to exit?").setCancelable(false); 
      bb.setPositiveButton("yes", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
       } 
      }); 
      bb.setNegativeButton("No", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
       } 
      }); 
      AlertDialog alrt=bb.create(); 
      //alrt.setTitle("Are you sure to exit?"); 
      alrt.show(); 
      break; 
    } 
    return super.onOptionsItemSelected(item); 
} 
+0

检查菜单XML有'item1'和'item2'的Id – 2013-04-27 20:19:22

回答

-1

试试这个方法:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     menu.add(0, OK_MENU_ITEM, 0, "Ok"); 
     menu.add(0, SAVE_MENU_ITEM, 0, "Save"); 
     menu.add(0, BACK_MENU_ITEM, 0, "Back"); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case OK_MENU_ITEM: 
      //showMsg("Ok"); 
      break; 
     case SAVE_MENU_ITEM: 
      //showMsg("Save"); 
      break; 
     case BACK_MENU_ITEM: 
      //showMsg("Back"); 
      break; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

定义OK_MENU_ITEM BACK_MENU_ITEM SAVE_MENU_ITEM为final int类成员