다이알로그에서 버튼 클릭했을 때 안꺼지게할수없나요??

조회수 1769회

제가 EditText가 있는 다이알로그를 만들었는데요 '네'버튼하고 '아니오'버튼이 있는데 예를들어 '네' 버튼을 클릭하면 인풋이 확인이 되고 다이알로그가 꺼져요 근데 이게 인풋이 잘못되있어도 다이알로그가 꺼져요. 버튼이 눌려도 인풋값이 잘못되면 안꺼지게 못하나요??

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    이건 API 8이상 버전에서만 될텐데요.

    AlertDialog의 onShowListener에서 버튼에 onClickListener를 오버라이딩해주면 될것같아요

    final AlertDialog d = new AlertDialog.Builder(context)
            .setView(v)
            .setTitle(R.string.my_title)
            .setPositiveButton(android.R.string.ok, null) //onClick오버라이딩할거니까 null로해줘요.
            .setNegativeButton(android.R.string.cancel, null)
            .create();
    
    d.setOnShowListener(new DialogInterface.OnShowListener() {
    
        @Override
        public void onShow(DialogInterface dialog) {
    
            Button b = d.getButton(AlertDialog.BUTTON_POSITIVE);
            b.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View view) {
                                // 어떤 조건을 줌
    
                                // 인풋 값이 잘들어와있으면 dialog를 끔
                    d.dismiss();
                }
            });
        }
    });
    

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.