2017-04-19 12 views
0

안드로이드 응용 프로그램에서 버튼없이 메시지 만 표시하는 AlertDialog를 사용자에게 표시하고 있습니다. 어떻게 더 이상 볼 수 없도록 AlertDialog을 프로그래밍 방식으로 제거 할 수 있습니까? 나는 cancel()과 dismiss()를 시도했지만 작동하지 않는다.AlertDialog를 프로그래밍 방식으로 제거하는 방법

AlertDialog.Builder test = new AlertDialog.Builder(context); 
test.setTitle("title"); 
test.setCancelable(true); 
test.setMessage("message..."); 
test.create().show(); 

그때

test.show().cancel()

test.show().dismiss() 

하지만 작동하지

을 시도했다.

+0

http://stackoverflow.com/a/14445953/5188051 이것을 확인하십시오 –

답변

4

빌더가 아닌 AlertDialog 자체를 참조해야합니다.

AlertDialog.Builder test = new AlertDialog.Builder(context); 
test.setTitle("title"); 
test.setCancelable(true); 
test.setMessage("message..."); 
ALertDialog testDialog = test.create(); 
testDialog.show(); // to show 
testDialog.dismiss(); // to dismiss 
+0

고마워요.이 작품은 당신이 처음이었습니다. – Nadir

4
AlertDialog.Builder test = new AlertDialog.Builder(context); 
... 

AlertDialog dialog = test.create().show(); 

나중에 당신은 그것을 숨기려 :

dialog.dismiss(); 
+0

고맙습니다. – Nadir

0

대화 상자를 닫으려면이 alertDialog.setCanceledOnTouchOutside(true);를 추가 할 경우

외부 또는 클릭 장치 뒤로 가기 버튼으로 사용자 터치

alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { 
    @Override 
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      alertDialog.dismiss(); 
      return true; 
     } 
     return false; 
    } 
})