Notice
Recent Posts
Recent Comments
Link
투케이2K
197. (kotlin/코틀린) [유틸 파일] callAlert : Alert 팝업창 호출 및 확인 , 취소 버튼 클릭 이벤트 콜백 확인 메소드 본문
Kotlin
197. (kotlin/코틀린) [유틸 파일] callAlert : Alert 팝업창 호출 및 확인 , 취소 버튼 클릭 이벤트 콜백 확인 메소드
투케이2K 2023. 1. 17. 20:56[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// TODO [SEARCH FAST] : [CALLBACK] : [Alert 팝업창 호출 처리 메소드]
fun callAlert (mContext: Context, header: String, content: String, ok: String, no:String, myCallBack: (result: Boolean) -> Unit){
/* TODO [메소드 호출 방법]
C_Ui_View.callAlert(A_Intro@this, "알림", "내용", "확인", "취소") { result ->
if (result == true){
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[" + ACTIVITY_NAME + " >> 확인 버튼 클릭]")
Log.d("//===========//","================================================")
Log.i("---","---")
}
else {
Log.i("---","---")
Log.e("//===========//","================================================")
Log.i("","\n"+"[" + ACTIVITY_NAME + " >> 취소 버튼 클릭]")
Log.e("//===========//","================================================")
Log.i("---","---")
}
}
// */
// [로직 처리 실시]
try {
// -----------------------------------------
// [타이틀 및 내용 표시]
val Title = header
val Message = content
// -----------------------------------------
// [버튼 이름 정의]
val buttonYes = ok
val buttonNo = no
// -----------------------------------------
// [AlertDialog 팝업창 생성]
Handler(Looper.getMainLooper()).postDelayed({ // TODO [핸들러 루퍼 사용 : UI 스레드]
AlertDialog.Builder(mContext)
.setTitle(Title) //[팝업창 타이틀 지정]
//.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
.setMessage(Message) //[팝업창 내용 지정]
.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
.setPositiveButton(buttonYes, DialogInterface.OnClickListener { dialog, which ->
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
myCallBack.invoke(true)
// -----------------------------------------
})
.setNegativeButton(buttonNo, DialogInterface.OnClickListener { dialog, which ->
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [취소 버튼 클릭 이벤트 처리]
myCallBack.invoke(false)
// -----------------------------------------
})
.show()
},0)
// -----------------------------------------
}
catch (e: Exception) {
e.printStackTrace()
}
}
반응형
'Kotlin' 카테고리의 다른 글
Comments