7

I am using following code to create a Dialog aleart box with lists item from studentNames ArrayList.I am creating this ArrayList by reading childfile array.But when this code runs it just display a Dialog box with zero list item.I have even check my studentNames for null but it has values in it.According to documentation I need to set ListAdapter for showing list items in Dialog box , but that's also not working for me.Please help me finding the problem.

ArrayList<String> studentNames  = new ArrayList<String>();
            for (File file2 : childfile) {
                studentNames.add(file2.getName());
            }

    AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setTitle(student.getName()).setAdapter(new ArrayAdapter(context, android.R.layout.simple_list_item_1, studentNames),
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            switch (which) {

                               cases
                            }

                        }
                    });
            builder.create();
            builder.show();
1
  • 1
    You forgot setItems Commented May 25, 2014 at 15:39

2 Answers 2

31

This is how you can achieve it:

final CharSequence[] items = {"1", "2", "3"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select");
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        // Do something with the selection
        dialog.dismiss();
    }
});
builder.show();
Sign up to request clarification or add additional context in comments.

2 Comments

I wanted to use adapter and i don't have a predefined array items
CharSequence[] cs = studentNames.toArray(new CharSequence[list.size()]); this is what you can use for that
1

I have the solution for your question. So, I can see that you are populating the ArrayList studentNames with some data. Try the following code, in order to display the list in the DialogBox.

ArrayList<String> studentNames=new ArrayList<String>();

for(File file2:childfile){

        studentNames.add(file2.getName());

}
AlertDialog.Builder builder=new AlertDialog.Builder(context);
        builder.setTitle(studentNames.toArray
        (new String[studentNames.size()]),
        new DialogInterface.OnClickListener(){

//studentName.toArray() converts the List into Array so that you can use it as Dialog List.     

        public void onClick(DialogInterface dialog,intwhich){
            switch(which){

            //cases...

            }
        }

        });
}
builder.create();
builder.show();

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.