Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AlertDialog.Builder: No items for checkboxes are shown

I have a problem with the alertdialog.builder in the following code:

    public void showSettingsBox(){
  final CharSequence[] items = {"Item1", "Item2", "Item3"};
  final boolean checked[] = new boolean[]{false,false,false};

  AlertDialog.Builder builder = new AlertDialog.Builder(fLabyrinthGame); 
  builder.setMessage(fMessage)
   .setCancelable(false)
   .setMultiChoiceItems(items, checked, new OnMultiChoiceClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
     CharSequence text = "Item number " + which;
     int duration = Toast.LENGTH_SHORT;

     Toast toast = Toast.makeText(fLabyrinthGame, text, duration);
     toast.show();

    }
   })
   .setPositiveButton("Apply", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
     dialog.cancel();
    }
   });
  builder.setTitle(fTitle); 
  builder.setIcon(R.drawable.icon_exclamation); 

  AlertDialog alert = builder.create(); 

  alert.show();   
 }

The three items and checkboxes are not displayed, there is just one white line between the title bar and the Apply-Button. Does anybody know why this does not work?

like image 789
sergej Avatar asked Jun 21 '10 00:06

sergej


1 Answers

Remove the builder.setMessage(fMessage) line and it'll work :)

setMessage is only used for when you want to display a text message. If you use it in conjunction with setMultiChoiceItems or setItems it appears to make the builder go into an undefined state.

like image 164
Rich Schuler Avatar answered Sep 28 '22 19:09

Rich Schuler