【发布时间】:2020-06-13 05:00:23
【问题描述】:
我有一个 AlertDialog,它的 setCancelable() 是假的。在Onbackpressed 函数中,我希望关闭 AlertDialog。但是当setCancelable() 为假时,后退键根本不起作用。我应该怎么做才能摆脱这个问题?我不想将setCancelable() 更改为true,因为我会遇到另一个问题。
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var dialogBuilder: AlertDialog.Builder
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
dialogBuilder = AlertDialog.Builder(this)
dialogBuilder.setMessage("Check your internet connection")
.setPositiveButton("OK") { _, _ ->
Toast.makeText(this, "OK", Toast.LENGTH_LONG).show()
}.setCancelable(false)
.create().show()
}
}
【问题讨论】:
-
请用代码编辑您的问题
-
这个stackoverflow.com/a/25251122/5343866 回答你的问题了吗?
-
嘿@MohammadMoeinGolchin,你需要停止谈论赞成和反对。这个习惯在 StackOverflow 上是非常不受欢迎的。允许用户自行投票;你根本不需要谈论投票。
标签: android kotlin android-alertdialog back onbackpressed