Notice
Recent Posts
Recent Comments
Link
투케이2K
460. (android/java) [유틸 파일] callAlert : Alert 팝업창 호출 및 확인 , 취소 버튼 클릭 이벤트 콜백 확인 메소드 본문
Android
460. (android/java) [유틸 파일] callAlert : Alert 팝업창 호출 및 확인 , 취소 버튼 클릭 이벤트 콜백 확인 메소드
투케이2K 2023. 1. 15. 17:46[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// TODO [SEARCH FAST] : [CALLBACK] : [Alert 팝업창 호출 처리 메소드]
public static class callAlert {
/* TODO [메소드 호출 방법]
new C_Ui_View.callAlert().setCallBack(new C_Ui_View.callAlert.CallBack() {
@Override
public void onMessage(boolean result) {
if (result == true){ // [확인 버튼]
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> 확인 버튼 클릭]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
else { // [취소 버튼]
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> 취소 버튼 클릭]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
}, A_Intro.this, "알림", "내용", "확인", "취소");
// */
// [내부 인터페이스 정의 실시]
interface CallBack {
public void onMessage(boolean result);
}
// [전역 변수 선언 실시]
CallBack callback;
// [클래스 생성자 초기화 실시]
public callAlert() {
this.callback = null; // [초기화]
}
// [콜백 지정 메소드 정의 실시]
public void setCallBack(CallBack callback, final Context mContext, String header, String content, String ok, String no) {
// -----------------------------------------
this.callback = callback; // [매핑]
// -----------------------------------------
// [타이틀 및 내용 표시]
final String Tittle = String.valueOf(header);
final String Message = String.valueOf(content);
// -----------------------------------------
// [버튼 이름 정의]
String buttonYes = String.valueOf(ok);
String buttonNo = String.valueOf(no);
// -----------------------------------------
// [로직 처리 실시 >> excute 호출]
try {
// [AlertDialog 팝업창 생성]
new AlertDialog.Builder(mContext)
.setTitle(Tittle) //[팝업창 타이틀 지정]
//.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
.setMessage(Message) //[팝업창 내용 지정]
.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
excute(true);
// -----------------------------------------
}
})
.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [취소 버튼 클릭 이벤트 처리]
excute(false);
// -----------------------------------------
}
})
.show();
// -----------------------------------------
}
catch (Exception e){
e.printStackTrace();
}
}
// [콜백 실행 메소드 정의 실시]
public void excute(boolean result) {
// [인풋으로 들어온 데이터를 그대로 CallBack 인터페이스 onMessage 메소드로 전달]
this.callback.onMessage(result);
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments