728x90
반응형
질문 : 버튼을 클릭 할 때 대화 상자가 닫히지 않도록하는 방법
입력을 위해 EditText
대화 상자가 있습니다. 대화 상자에서 "예"버튼을 클릭하면 입력을 확인한 다음 대화 상자를 닫습니다. 그러나 입력이 잘못된 경우 동일한 대화 상자에 남아 있습니다. 입력이 무엇이든 상관없이 "아니오"버튼을 클릭하면 대화 상자가 자동으로 닫힙니다. 어떻게 비활성화 할 수 있습니까? 그건 그렇고, 대화 상자의 버튼에 PositiveButton과 NegativeButton을 사용했습니다.
답변
수정 : 일부 댓글에서 언급 한대로 API 8 이상에서만 작동합니다.
이것은 늦은 답변이지만 AlertDialog에 onShowListener를 추가하여 버튼의 onClickListener를 재정의 할 수 있습니다.
final AlertDialog dialog = new AlertDialog.Builder(context)
.setView(v)
.setTitle(R.string.my_title)
.setPositiveButton(android.R.string.ok, null) //Set to null. We override the onclick
.setNegativeButton(android.R.string.cancel, null)
.create();
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialogInterface) {
Button button = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// TODO Do something
//Dismiss once everything is OK.
dialog.dismiss();
}
});
}
});
dialog.show();
출처 : https://stackoverflow.com/questions/2620444/how-to-prevent-a-dialog-from-closing-when-a-button-is-clicked
728x90
반응형
'프로그래밍 언어 > Android' 카테고리의 다른 글
Android 앱의 릴리스 버전을 빌드하기 전에 모든 디버그 로깅 호출을 제거하는 방법 (0) | 2021.09.08 |
---|---|
Android Studio-Android SDK 경로 변경 방법 (0) | 2021.09.08 |
Android의 MVC 패턴 (0) | 2021.09.08 |
초기 텍스트가 "Select One"인 Android Spinner를 만드는 방법 (0) | 2021.09.08 |
오류 'android.os.NetworkOnMainThreadException' (0) | 2021.09.08 |