ListView in AlertDialog

suggest change

We can always use ListView or RecyclerView for selection from list of items, but if we have small amount of choices and among those choices we want user to select one, we can use AlertDialog.Builder setAdapter.

private void showDialog()
{
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Choose any item");

    final List<String> lables = new ArrayList<>();
    lables.add("Item 1");
    lables.add("Item 2");
    lables.add("Item 3");
    lables.add("Item 4");

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_dropdown_item_1line, lables);
    builder.setAdapter(dataAdapter, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(MainActivity.this,"You have selected " + lables.get(which),Toast.LENGTH_LONG).show();
        }
    });
    AlertDialog dialog = builder.create();
    dialog.show();
}

Perhaps, if we don’t need any particular ListView, we can use a basic way:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select an item")
       .setItems(R.array.your_array, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {
               // The 'which' argument contains the index position of the selected item
               Log.v(TAG, "Selected item on position " + which);
           }
        });
builder.create().show();

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents