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


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

  • 2016년 01월 11일에 작성됨

조회수 254


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();
            }
        });
    }
});
  • 2016년 01월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close