Introduction

Dialogues are most commonly used in Android to show some messages to the user or to get some confirmation from the user. In some cases, we need to show a dialogue where a user needs to select more than one option.
There are two ways to create dialogues; they are DialogueFragment and Dialogue. Builder class. A Dialogue will normally look as shown below,
Here I am going to describe how to display a multiple selection dialogue in an activity. For that I am using a dialogueFragment and this has the life cycle methods as onCreate(),onCreateDialogue(),onCreateView(). In the older methods onCreateDialogue() you can construct your dialogue. But with DialogueFragment you can create this on onCreateView()
I have declared a string array in the values folder that contains the options in the dialogue box
Here I have an activity, in that activity, I create a button, on clicking that button it will show a dialogue with multiple options and each option has a checkbox a the right side of it.
For Alert dialogue, I created a custom class named MyAlert that extends from DialogueFragment. And in the onCreateDialogue() please add the code
  1. public Dialog onCreateDialog(Bundle savedInstanceState)
  2. {
  3. AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
  4. builder.setTitle("Title here");
  5. builder.setMultiChoiceItems(R.array.titles, null, new DialogInterface.OnMultiChoiceClickListener()
  6. {
  7. @Override
  8. public void onClick(DialogInterface dialogInterface, int i, boolean b)
  9. {
  10. Toast.makeText(getActivity(), "item clicked at " + i, Toast.LENGTH_SHORT).show();
  11. }
  12. });
  13. Dialog dialog = builder.create();
  14. return dialog;
  15. }
    The builder.setMultiChoiceItems add the arrays which I declared earlier as the choicelist, and on selecting each option a Toast message will be displayed with the index of that option. The output will be like the following.
    Read more articles on Android