【发布时间】:2022-01-18 14:38:50
【问题描述】:
我知道我提出这个问题听起来很愚蠢,但我根本无法在使用 android studio 和 kotlin 开发的应用程序中显示 AlertDialog 框。这是代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
runBlocking {
showDefaultDialog(this)
}
FuelManager.instance.basePath = getString(R.string.BaseURL)
还有功能:
private fun showDefaultDialog(context: Context) {
val alertDialog = AlertDialog.Builder(context)
alertDialog.apply {
//setIcon(R.drawable.ic_hello)
setTitle("Hello")
setMessage("I just wanted to greet you. I hope you are doing great!")
setPositiveButton("Positive") { _: DialogInterface?, _: Int ->
Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show()
}
setNegativeButton("Negative") { _, _ ->
Toast.makeText(context, "Negative", Toast.LENGTH_SHORT).show()
}
setNeutralButton("Neutral") { _, _ ->
Toast.makeText(context, "Neutral", Toast.LENGTH_SHORT).show()
}
}.create().show()
}
我错过了什么/做错了什么?我尝试过使用没有该功能的代码,但也没有用。
(当我在调试模式下运行应用程序并在函数中设置断点时,断点被命中,但警报对话框不显示!)
请帮忙。
编辑:
我试过这个(在一个测试应用中):
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
showDefaultDialog(this)
Toast.makeText(this, "Hello!!!", Toast.LENGTH_SHORT).show()
}
显示对话框,但也显示 Toast.makeText,而无需等待 alertDialog 上的操作。
如何使 alertDialog 阻塞? (这是我之前代码的问题吗?)
【问题讨论】:
标签: android-studio kotlin android-alertdialog