본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] AlertDialog Ok, Cancel button dismiss 방지 코드

by 돼지왕왕돼지 2013. 9. 7.


 안드로이드, AlertDialog Ok, Cancel button dismiss 방지 코드

 


[android] AlertDialog Ok, Cancel button dismiss 방지 코드


가끔 AlertDialog 에서 Ok 혹은 Cancel 버튼 등을 눌렀을 때 dialog 를 dismiss 하지 않고 싶을 때가 있다. 대표적인 경우가 dialog 를 통해서 어떤 input 을 받는데 validation 조건을 만족시키지 못해서 다시 입력하라고 할 경우! 이럴 때 OnShowListener 를 이용하여, 필요한 버튼에 OnClickListener 를 내 것으로 걸어주면 된다.


final AlertDialog alertDialog = ....;


alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {

    @Override

    public void onShow(DialogInterface dialog) {

        Button posBtn = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);

        posBtn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                // 여기서 조건에 따라 alertDialog.dismiss() 를 호출

            }

        });

    }

});







댓글2