ListView in AlertDialog

前端 未结 3 591
傲寒
傲寒 2020-11-30 06:09

I am using a ListView in an AlertDialog to display a list of items. When the user clicks on one of the items, I want the dialog to close. I would not have any action buttons

3条回答
  •  遥遥无期
    2020-11-30 06:30

    Used below code to display custom list in AlertDialog

    AlertDialog.Builder builderSingle = new AlertDialog.Builder(
                        DialogActivity.this);
                builderSingle.setIcon(R.drawable.ic_launcher);
                builderSingle.setTitle("Select One Name:-");
                final ArrayAdapter arrayAdapter = new ArrayAdapter(
                        DialogActivity.this,
                        android.R.layout.select_dialog_singlechoice);
                arrayAdapter.add("Hardik");
                arrayAdapter.add("Archit");
                arrayAdapter.add("Jignesh");
                arrayAdapter.add("Umang");
                arrayAdapter.add("Gatti");
                builderSingle.setNegativeButton("cancel",
                        new DialogInterface.OnClickListener() {
    
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        });
    
                builderSingle.setAdapter(arrayAdapter,
                        new DialogInterface.OnClickListener() {
    
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                String strName = arrayAdapter.getItem(which);
                                AlertDialog.Builder builderInner = new AlertDialog.Builder(
                                        DialogActivity.this);
                                builderInner.setMessage(strName);
                                builderInner.setTitle("Your Selected Item is");
                                builderInner.setPositiveButton("Ok",
                                        new DialogInterface.OnClickListener() {
    
                                            @Override
                                            public void onClick(
                                                    DialogInterface dialog,
                                                    int which) {
                                                dialog.dismiss();
                                            }
                                        });
                                builderInner.show();
                            }
                        });
                builderSingle.create();
                builderSingle.show();
    

提交回复
热议问题