2011-07-06 10 views
0

동적 데이터가있는 버튼을 누르면 대화 상자가 나타나지만 같은 버튼을 다시 누르면 같은 데이터가 나타납니다. 다음 질문이 아닌 이유를 알아 내기 위해 로그를 사용했습니다. 다음은 대화의 때마다 사용자 버튼을 눌러 데이터를 업데이트하는 코드Android 대화 상자 문제

protected Dialog onCreateDialog(int id) 
{ AlertDialog.Builder dilog = new AlertDialog.Builder(this); 

switch (id) 

    { 

     case 99: 
       String qa = showNext(); //gets question from database new question every time 

       dilog.setTitle("Team A player" + contactList.get(1).getName()); 
       dilog.setMessage(qa); 

       dilog.setNegativeButton("ok", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int id) 
        { 

         dialog.cancel(); 
        } 
       }); 

      break; 

     } 
     return dilog.create(); 


     } 

답변

1

대화 상자를 만들고 onCreateDialog() 내에 데이터를 설정합니다. 제공된 대화 ID에 대한 객체가없는 경우 시스템에서이 객체를 호출합니다. 생성 된 후에는 결코 다시 호출되지 않습니다. Activity.onPrepareDialog() 안에있는 최신 데이터로 기존 대화 상자를 수정해야합니다. 그 경고는 중요하지 않습니다. 무시할 수 있습니다.