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

제가 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();
                }
            });
        }
    });
    

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

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.