2014-09-14 3 views
1

NegativeButton 클릭을 취소하려는 AlertDiaog.Builder 인스턴스가 있습니다. 그런 다음 AyncTask를 실행하려고합니다. 이 모든 것은 내 장치를 흔들면 발생합니다.AlertDialog.Builder가 android를 닫지 않음

현재 AlertDialog.builder는 AyncTask가 실행 된 후에도 닫지 않습니다.

showDialog()는 모든 버튼이 완벽하게 작동하는 다른 버튼을 클릭하여 실행됩니다. 이 문제는 기기 흔들림에서만 발생합니다. 여기

내 코드입니다 : 어떤 도움이

대화 상자가) ((기각) 취소 더있는 경우에도 양 또는 음에 닫을 것 같은 이상한
+0

나는 asynctask의 postexceute에 대해 dissom에 대한 대화의 글로벌 참조를 유지 했습니까? – KOTIOS

+0

@mtetno 아니, 아니. 다른 버튼을 클릭하여 동일한 코드를 실행하면 잘 작동합니다. 그것의 장치가 동요 할 때만이 문제 occrs –

+0

와 이것은 동일한 활동 권리에서인가? 그냥 완료 asynctask에 그것을 기각하고 싶습니까? – KOTIOS

답변

0

을 감사

@Override 
    public void onShake(float force) 
    { 
     // TODO Auto-generated method stub 

     hour = cal.get(Calendar.HOUR); 
     hour = hour+1; 
     mins = cal.get(Calendar.MINUTE); 
     timeString = hour+":"+mins+":"+today.second; 
     showDialog(timeString, ""); 
     } 
    public void showDialog(String timeString, String title) 
    { 

     builder = new AlertDialog.Builder(getActivity()); 

     builder.setTitle(title); 
     builder.setMessage("Reaching at:"+" "+ timeString+"?"); 

     builder.setNegativeButton("NO", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // Do nothing 
       dialog.dismiss(); 
       dialog.cancel(); 
      } 
     }); 

     builder.setPositiveButton("YES", new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) 
      { 
       // Do nothing but close the dialog 
       dialog.cancel();; 
       new AddStatusTask().execute(); 

      } 

     }); 


     alert = builder.create(); 
     alert.show(); 
    } 

; alert = builder.create(); alert.show(); 대신 builder.show();으로 시도하십시오.

관련 문제