2012-02-24 6 views
2

dans mon application lorsque je clique sur un bouton affichant une boîte de dialogue avec listview. La liste des éléments sont affichés dans une liste de tableaux. Voici le peu de mon codeeffectuant l'action onclick sur listview dans une boîte de dialogue

private void album_list_box() 
    { 
     Dialog dialog = new Dialog(Nearme_Image_DetailView.this); 
     AlertDialog.Builder builder = new AlertDialog.Builder(Nearme_Image_DetailView.this); 
     builder.setTitle("Select the Album Name"); 

     ListView modeList = new ListView(this); 
     for(int i =0; i< Get_album_name_array.size(); i++) 
     { 
      stringArray = Get_album_name_array.get(i); 
      HashMap<String, Object> map = new HashMap<String, Object>(); 
      map.put("fname", stringArray); 
      listItem.add(map); 
     } 
     SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,android.R.layout.simple_list_item_1,new String[] {"fname"}, new int[] {android.R.id.text1}); 
     modeList.setAdapter(listItemAdapter); 

     builder.setView(modeList); 
     dialog = builder.create(); 
     dialog.show(); 
    } 

Ici, je suis obtenir la Alertbox et la liste des éléments, quand je clique je suis en mesure d'obtenir la position.

Mais quand la liste est cliqué je veux fermer la boîte de dialogue et je veux commencer une tâche async, comment faire ......

Répondre

1

Déclarer la dialog en tant que membre de la classe, mis en place le clic écouteur pour le ListView

lv.setOnItemClickListener(new OnItemClickListener() {  
    public void onItemClick(AdapterView<?> parent,View view,int position,long id) { 
     //your code 
     mdialog.cancel(); // close the dialog box 
     asynctask = new ASyncTask().execute(); // start a aynctask of your choice 
    } 
} 
Questions connexes