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):
(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();}