Android: create a popup that has multiple selection options Android: create a popup that has multiple selection options android android

Android: create a popup that has multiple selection options


You can create a String array with the options you want to show there and then pass the array to an AlertDialog.Builder with the method setItems(CharSequence[], DialogInterface.OnClickListener).

An example:

String[] colors = {"red", "green", "blue", "black"};AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Pick a color");builder.setItems(colors, new DialogInterface.OnClickListener() {    @Override    public void onClick(DialogInterface dialog, int which) {        // the user clicked on colors[which]    }});builder.show();

The output (on Android 4.0.3):

Output

(Background map not included. ;))


Try this :

public void onClick(View v) {    final String[] fonts = {        "Small", "Medium", "Large", "Huge"    };    AlertDialog.Builder builder = new AlertDialog.Builder(TopicDetails.this);    builder.setTitle("Select a text size");    builder.setItems(fonts, new DialogInterface.OnClickListener() {@        Override        public void onClick(DialogInterface dialog, int which) {            if ("Small".equals(fonts[which])) {                Toast.makeText(TopicDetails.this, "you nailed it", Toast.LENGTH_SHORT).show();            } else if ("Medium".equals(fonts[which])) {                Toast.makeText(TopicDetails.this, "you cracked it", Toast.LENGTH_SHORT).show();            } else if ("Large".equals(fonts[which])) {                Toast.makeText(TopicDetails.this, "you hacked it", Toast.LENGTH_SHORT).show();            } else if ("Huge".equals(fonts[which])) {                Toast.makeText(TopicDetails.this, "you digged it", Toast.LENGTH_SHORT).show();            }            // the user clicked on colors[which]        }    });    builder.show();}


The pop ups are nothing but AlertDialog.So you just need to create AlertDialog, then inflate your desired view using LayoutInflater and set the inflated view using setView() method of AlertDialog