2012-04-11 4 views
7

Ich habe ein Alert-Dialogfeld, das eine Liste enthält, und ich möchte onlistclick schließen ist es möglich?Kann ich einen Alarmdialog auf der Liste klicken?

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

    final String[] Categories = SQLiteHelper.getAllCategories();//this is where i get the array for my list 
    ListView myList = new ListView(this); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.alert_dialog_list_view, Categories); 
    myList.setAdapter(adapter); 
    myList.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) { 
        //doing something in here and then close 
     } 
    }); 
    builder.setTitle("Please Choose"); 
    builder.setInverseBackgroundForced(true); 
    builder.setView(myList); 
    final Dialog dialog = builder.create(); 
    dialog.show(); 
    } 

Der Alarmdialog läuft perfekt, ich möchte nur keine Schaltflächen darin einfügen.

Antwort

12

Wenn Sie die onItemClickListenernach der Dialog definieren Sie können in der onItemClick() Methode nur dialog.dismiss(); nennen.

+0

Dank es hat funktioniert! –

2

Check Code unten

myList.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) { 

       //doing something in here and then close 
       dialog.dismiss(); 
     } 
    }); 
+1

Ich musste dies nur nach dem letzten Dialog dialog = builder.create(); –

+0

es ist Ihre Liste klicken Ereignisse –