Notice
Recent Posts
Recent Comments
Link
투케이2K
497. (Android/Kotlin) [유틸 파일] radioSelectAlert : 콜백 (callback) 확인 라디오 버튼 아이템 선택 팝업창 호출 실시 본문
Android
497. (Android/Kotlin) [유틸 파일] radioSelectAlert : 콜백 (callback) 확인 라디오 버튼 아이템 선택 팝업창 호출 실시
투케이2K 2023. 2. 22. 04:41[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
fun radioSelectAlert (mContext: Context, item: Array<String>, header: String, ok: String, no:String, myCallBack: (result: Int) -> Unit){
// -----------------------------------------
/* TODO [메소드 호출 방법]
val array = arrayOf("twok", "투케이")
C_Ui_View.radioSelectAlert(A_Intro@this, array, "알림", "확인", "취소") { result ->
}
// */
// -----------------------------------------
// [포지션 선택 변수 선언]
var index = -1
// -----------------------------------------
// [로직 처리 실시]
try {
// -----------------------------------------
// [타이틀 및 내용 표시]
val Title = header
// -----------------------------------------
// [버튼 이름 정의]
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) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
.setSingleChoiceItems(item, index){ dialog, which ->
// [인덱스 값 지정]
index = which
}
.setPositiveButton(buttonYes, DialogInterface.OnClickListener { dialog, which ->
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
myCallBack.invoke(index)
// -----------------------------------------
})
.setNegativeButton(buttonNo, DialogInterface.OnClickListener { dialog, which ->
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [취소 버튼 클릭 이벤트 처리]
myCallBack.invoke(index)
// -----------------------------------------
})
.show()
},0)
// -----------------------------------------
}
catch (e: Exception) {
e.printStackTrace()
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments