Android
<Kotlin 코틀린> 안드로이드 하이브리드 Alert창 처리하기
일용직 코딩노동자
2021. 11. 10. 15:48
728x90
반응형
본인웹뷰이름.webChromeClient = object : WebChromeClient(){
override fun onJsAlert(view: WebView?, url: String?, message: String?, result: JsResult?): Boolean {
onJsAlert(message!!, result!!)
return true
}
override fun onJsConfirm(view: WebView?, url: String?, message: String?, result: JsResult?): Boolean {
onJsConfirm(message!!, result!!)
return true
}
}
해당 코드를 오버라이드 하셔서 onCreate에 작성해주시면 되는데요.
fun onJsConfirm(message : String, result : JsResult) : Unit {
var builder = AlertDialog.Builder(this@MainActivity)
builder.setTitle("알 림")
builder.setMessage(message)
builder.setIcon(R.drawable.icon)
// 버튼 클릭 이벤트
var listener = DialogInterface.OnClickListener { _, clickEvent ->
when (clickEvent) {
DialogInterface.BUTTON_POSITIVE ->{
result!!.confirm()
}
DialogInterface.BUTTON_NEUTRAL -> {
result!!.cancel()
}
}
}
builder.setPositiveButton(android.R.string.ok, listener)
builder.setNeutralButton(android.R.string.cancel, listener)
builder.show()
}
fun onJsAlert(message : String, result : JsResult) : Unit{
var builder = AlertDialog.Builder(this@MainActivity)
builder.setTitle("알 림")
builder.setMessage(message)
builder.setIcon(R.drawable.icon)
// 버튼 클릭 이벤트
var listener = DialogInterface.OnClickListener { _, clickEvent ->
when (clickEvent) {
DialogInterface.BUTTON_POSITIVE ->{
result!!.confirm()
}
}
}
builder.setPositiveButton(android.R.string.ok, listener)
builder.show()
}
요렇게 밑에 함수까지 셋팅해주시면 코틀린에서 하이브리드 앱 Alert창 처리 하기 끝입니다!!
728x90
반응형