2013-02-03 124 views
1

我是Android应用程序开发人员。 我想显示AlertDialog包括Listview。当我点击一个ListView项目时,我想关闭AlertDialog

当我点击一个ListView项目时,我想关闭AlertDialog。但是,(1)代码不起作用。

我该怎么办?

请告诉我一些建议。预先感谢!下面

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(); 
+0

*但是,(1)代码这么想的工作* u能PLZ解释。如果您收到任何错误,那么还可以使用dialog.cancel()添加带有问题 –

+0

的日志。 //关闭对话框 –

+0

@hyekyung:请添加您的simple_list_item_single_choice xml文件,并且吐司也会被解雇吗? –

回答

2

用途:

 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(); 
      } 
     }); 
相关问题