Search code examples
androidmenudialogpopupandroid-optionsmenu

Android - text dialog popup from an option menu


A simple question. I want a static dialog message with ONLY text to popup when pressed a button in an options menu. This is my menu code:

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

How do I do it the easiest way?


Solution

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

    or u can i use the dialog boxes

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

    }