Domanda

I'm android app developer. I want to display AlertDialog include Listview.

When I click an item of ListView, I want to dismiss AlertDialog. But, (1) code dosen't work.

How can I do?

Please tell me some advice. pre-Thanks!

final String[] items = new String[101] ;

for(int m = 0 ; m < items.length ; m++)
{
    items[m] = Integer.toString(m) ;  
}

Dialog dialog = new Dialog(this);
AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("sample list title "); 

ListView modeList = new ListView(this); 

ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_single_choice, android.R.id.text1, items);

modeList.setAdapter(modeAdapter);
modeList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

modeList.setOnItemClickListener(new OnItemClickListener()
{
        public void onItemClick(AdapterView<?> arg0, View v, int position, long id)
        {
            makeToast("..test   " + position  );  
            // dialog.dismiss(); ----------------------------(1) 

        }
 }); 

builder.setView(modeList);

dialog = builder.create();
dialog.show(); 
È stato utile?

Soluzione

Use below:

        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        builder.setTitle(getText(R.string.title));
        builder.setSingleChoiceItems(list, position, new DialogInterface.OnClickListener()
        {
            public void onClick(DialogInterface dialog, int position)
            {
                // do something
                dialog.dismiss();
            }
        });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top