안드로이드 6.0 커스텀 다이얼로그 질문입니다.


아래와 같이 EditText를 포함한 커스텀 다이얼로그를 만들었습니다. 문제는 안드로이드 버전 5.x.x 에서는 잘 동작하는데 6.x.x이상부터 "취소", "확인" 버튼이 동작하지 않습니다. 또한 뒤로가기를 눌러도 다이얼로그가 사라지지 않습니다. 문제가 무엇인가요 ㅜㅜ

  final AlertDialog.Builder inputAlert = new AlertDialog.Builder(UserInfoActivity.this);
  inputAlert.setTitle("스마트 플러그 연동");
  inputAlert.setMessage("로그인에 필요한 아이디와 패스워드를 입력해주세요");

  final EditText edit_id = new EditText(UserInfoActivity.this);
  edit_id.setSingleLine();
  edit_id.setHint("아이디");

  final EditText edit_pw = new EditText(UserInfoActivity.this);
  edit_pw.setSingleLine();
  edit_pw.setHint("패스워드");

  LinearLayout layout = new LinearLayout(UserInfoActivity.this);
  layout.setOrientation(LinearLayout.VERTICAL);
  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
          LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
  params.setMargins(50, 0, 50, 0);

  layout.addView(edit_id, params);
  layout.addView(edit_pw, params);
  inputAlert.setView(layout);

  inputAlert.setPositiveButton("확인", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {

      }
  });
  inputAlert.setNegativeButton("취소", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {

      }
  });
  alertDialog = inputAlert.create();
  alertDialog.show();
  • 2016년 06월 08일에 작성됨

조회수 277


2 답변


좋아요
1
싫어요
채택취소하기

코드에 딱히 이상한 부분이 없어서 넥서스 6P (6.0.1)에서 테스트를 해봤는데요. 문제 없이 동작합니다. 취소, 확인 버튼 클릭 시 콜백도 정상적으로 호출되고요. 테스트 환경에 문제가 있는 것은 아닌지 확인해보는게 좋을 것 같아요. 취소 버튼 클릭 시 팝업이 사라지는 테스트 영상 첨부했으니 확인하세요.


  • 줄바꿈이 안되서 아래 답변으로 질문올렸습니다    임상일   2016.6.8 18:48     

앱 그래들 설정입니다, 타켓 sdkVersion을 라이브러리 호환문제때문에 22버전으로 사용하고있는데 이 이유때문일수도 있나요?

compileSdkVersion 23 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.kbell.smartplug" minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName "1.0" }

compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.support:design:23.2.1'

여기도 줄바꿈안되는건 매한가지네요 ㅎㅎ

  • 2016년 06월 08일에 작성됨

  • 제 빌드 환경을 방금 확인했는데요. targetSdkVersion 22로 올려주신 것과 같습니다.    한로니로니   2016.6.8 23:43     
  • 네 테스트까지 해주시고 감사합니다 ~ 좀더 조사해보아야겠네요 !    임상일   2016.6.9 09:28     

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

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