android - Android AlertDialog 未显示
问题描述
我正在尝试在函数中打开警报对话框。在我的代码末尾调用 .show() 时,代码只是停止运行。当我尝试在onCreate
同一个类的函数中执行完全相同的代码片段时,一切正常。当我试图从另一个功能打开对话框时,为什么对话框打不开?
DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
//Yes button clicked
break;
case DialogInterface.BUTTON_NEGATIVE:
//No button clicked
break;
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
解决方案
你可以试试这个,应该很简单:
AlertDialog alertDialog = new AlertDialog.Builder(
YourDialogActivity.this).create();
alertDialog.setTitle("Alert Title");
alertDialog.setMessage("Alert Message");
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),
"YES clicked", Toast.LENGTH_SHORT)
.show();
}
});
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),
"NO clicked", Toast.LENGTH_SHORT)
.show();
dialog.cancel();
}
});
alertDialog.show();
请设置您如何使用该功能不适合您的地方
推荐阅读
- python - loading dataframe into table postgres and pandas with auto-incrementing id
- python - Training loss started extremely lower than validation loss. What is happening?
- spring-security - 如何将 .crt 用于 jwt?
- python-3.x - Creating and displaying pyvis graph from django app running sql backend
- r - No success with the "survIDINRI" package. Error message: NA/NaN/Inf in foreign function call
- c++ - 如何在 UE4 中将我的 JSON 包打印到我的屏幕上?我使用气泡代码,但如有必要,我愿意切换到 C++
- moodle-api - core_course_get_categories 的示例
- amazon-connect - 在亚马逊连接传输期间,Agent2 是否可以知道 Agent1 的用户名?
- react-native - 在抽屉导航上提高警报确认
- excel - 根据值选择VBA中的范围子集