2012-01-22 4 views
5

यहाँ मेरी संवाद कोड है एक संवाद में एक ListView है, मैं इस संवाद को बंद करना चाहते हैं जब मैं ListView पर क्लिक करें:मैं कैसे AlertDialog बंद जब मैं ListView आइटम पर क्लिक करते

public void createSearchDialog(final String[] Memo){ 
     LayoutInflater factory = LayoutInflater.from(this); 
     View searchView = factory.inflate(R.layout.seach_dialog, null); 

      lv = (ListView) searchView.findViewById(R.id.search_list); 
     lv.setAdapter(new MyPerformanceArrayAdapter(this, Memo, memo_PW)); 
     lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) { 
       // TODO Auto-generated method stub 

         /// close dialog 
      } 
     }); 


     searchBuilder = new AlertDialog.Builder(this); 
     searchBuilder.setTitle("Search") 
       .setView(searchView) 
       .setNegativeButton("Back", new DialogInterface.OnClickListener() {    
       public void onClick(DialogInterface arg0, int arg1) { 
        // TODO Auto-generated method stub 

       } 
      }) 
       .show();  

    } 

मैं डालने की कोशिश की onItemClick()

searchBuilder.create().dismiss(); 

    searchBuilder.create().cancel(); 

में इस कोड लेकिन यह काम नहीं कर रहा।

+0

एक अलर्टडिअलॉग ऑटो डिफॉल्ट द्वारा बटन के क्लिक पर बंद हो जाता है। – JoxTraex

उत्तर

15

.show()dialog = searchBuilder.show(); पर dialog.dismiss() से onItemClick() पर रखें।

+0

सही –

+1

काम कर रहा है जहां संवाद शुरू करना है और किस प्रकार का उपयोग करना है और इसका उपयोग कैसे करें .. कृपया कोड के साथ उचित उत्तर दें .. – Nepster

+1

अलर्टडिअलॉग संवाद; वैश्विक होगा तो यह काम करेगा –

1

संवाद .dismiss() संवाद को खारिज करने के लिए काम करेगा। कृपया जांचें कि आप इसे उचित जगह पर बुला रहे हैं। अगर आप अपने ListView से चयन करते समय संवाद बंद करना चाहते हैं तो आपको अपने ListView के एक्शन श्रोता में संवाद को खारिज करना होगा।

+0

मैंने searchBuilder.create() को खारिज कर दिया(); onItemClick में लेकिन यह अभी भी काम नहीं कर रहा है – Intathep

+0

क्या आप searchbuilder.dismiss() – amandroid

+0

के साथ प्रयास कर सकते हैं मैं searchbuilder.dismiss() को कॉल नहीं कर सकता, विधि को बर्खास्त() विधि AlertDialog.Builder – Intathep

संबंधित मुद्दे