Android - 从选项菜单中弹出文本对话框

时间:2011-07-07 10:05:58

标签: android menu dialog popup options

一个简单的问题。我想要一个静态对话框消息,当按下选项菜单中的按钮时,只能弹出文本。这是我的菜单代码:

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
       switch (item.getItemId()) {
           case R.id.icon:
                Intent intent = new Intent(this, Main.class);
                startActivity(intent);
           case R.id.help:
               //popup window code here
       }
       return true;
   }
}

我最简单的方法吗?谢谢!

3 个答案:

答案 0 :(得分:4)

@Override
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
       case R.id.icon:
            Intent intent = new Intent(this, Main.class);
            startActivity(intent);
       case R.id.help:
           //popup window code here
Toast.makeText(this, "This is the Toast message", Toast.LENGTH_LONG).show();

   }
   return true;
}
}

或者我可以使用对话框

@Override
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
       case R.id.icon:
            Intent intent = new Intent(this, Main.class);
            startActivity(intent);
       case R.id.help:
           //popup window code here
 AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

        // set the message to display
        alertbox.setMessage("This is the alertbox!");

        // add a neutral button to the alert box and assign a click listener
        alertbox.setNeutralButton("Ok", new DialogInterface.OnClickListener() {

            // click listener on the alert box
            public void onClick(DialogInterface arg0, int arg1) {
                // the button was clicked

            }
        });

        // show it
        alertbox.show();

   }
   return true;
}

}

答案 1 :(得分:0)

您可以创建简单的对话框

static final int DIALOG_MESSAGE_ID= 0;

protected Dialog onCreateDialog(int id) {
  switch(id) {
  case DIALOG_MESSAGE_ID:
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Your message ")//your message
       });
    return builder.create();
    break;
  }
  return null;
}


//in your code
case R.id.help:
  showDialog(DIALOG_MESSAGE_ID);

更多http://developer.android.com/guide/topics/ui/dialogs.html

答案 2 :(得分:0)

AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setMessage("Blah Blah...");
dialog.show();