2013-02-03 1 views
1

저는 android 앱 개발자입니다. AlertDialog include 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 수 있습니다 그것을 설명합니다. 어떤 오류가 발생하면 –

+0

질문과 함께 로그를 추가하십시오. dialog.cancel(); // 대화 상자를 닫습니다 –

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