다이얼로그로 로그인 화면이나, 비밀번호 입력창 등을 만들기도 한다.
가장 많이 사용 하는 것이 AlertDialog.Builder 를 사용할텐데,
기존에 제공하는 리스너들을 Overriding 해서 사용할 경우
Ok, Cancel 버튼 클릭시 원하지 않게 창이 닫기게 된다.
아래의 방지코드를 넣게 되면 창이 닫기지 않게 된다.
dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface arg0) { Button positiveButton = ( (AlertDialog) arg0 ).getButton(AlertDialog.BUTTON_POSITIVE); //Or AlertDialog.BUTTON_NEGATIVE positiveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //========================= } }); } });
확인 버튼과 취소 버튼에 대한 리스너를 달아주면 끝!
닫히지 않는 다이얼로그를 볼 수 있다.(닫을때 dismiss 하는 걸 잊으면 안돼요~)
* AlertDialog.Builder 를 사용하면 create()를 실행하여 반드시 AlertDialog 객체를 생성한 뒤에 사용해야 setOnShowListener를 볼 수 있다.
'Programming > Android' 카테고리의 다른 글
[Android] Fragment Width(넓이) (0) | 2014.02.06 |
---|---|
[Android] Uri로 Bitmap 추출 (0) | 2014.01.09 |
[Android] R.java 가끔 생성안될때 (0) | 2013.09.24 |
[Android] 안드로이드 SDK 업데이트 이후 R.java 생성 오류 (0) | 2013.09.24 |
[Android] GCM Test URL (0) | 2013.09.10 |