2012-01-22 55 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

AlertDialog在點擊按鈕BY DEFAULT時自動關閉。 – JoxTraex

回答

15

變化.show()變爲dialog = searchBuilder.show();然後把dialog.dismiss()變成onItemClick()

+0

正常工作 –

+1

在哪裏初始化對話框,什麼類型以及如何使用它..請給出正確的答案和代碼.. – Nepster

+1

AlertDialog對話框;將是全球性的,那麼它將起作用 –

1

對於解僱對話框.dismiss()將工作。請檢查你是否在適當的地方打電話給你。如果您想在從ListView中進行選擇時關閉對話框,則需要關閉ListView的動作偵聽器中的對話框。

+0

我把searchBuilder.create()。dismiss();到onItemClick但它仍然不工作 – Intathep

+0

可以嘗試與searchbuilder.dismiss() – amandroid

+0

我不能調用searchbuilder.dismiss(),方法dismiss()是未定義的類型AlertDialog.Builder – Intathep

相關問題