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

조회수 2151회

아래와 같이 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();
  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

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

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 앱 그래들 설정입니다, 타켓 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'

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

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

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)