gpt4 book ai didi

Android对话框自行消失

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:52:22 25 4
gpt4 key购买 nike

我正在使用以下代码创建我自己的对话框:

public void ShowMessageDialog(String str){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(str);
builder.setCancelable(false);
builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}

它工作正常,但是当在此函数中使用时,对话框似乎自行消失了:

public void test(String str){
ShowMessageDialog("About to start new activity");
Intent intent = new Intent(this,PageViewer.class);
startActivity(intent);
}

似乎新 Activity 已创建,并且显然摆脱了对话框。但为什么? Activity 不应该在打开新 Activity 之前停止吗?

谢谢!

最佳答案

即将触发的 Intent 不会等待您的对话框被取消。因此,在显示对话框后,立即启动新的 Activity。你可以像这样完成你想要的:

public void ShowMessageDialog(String str){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(str);
builder.setCancelable(false);
builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(this,PageViewer.class);
startActivity(intent);
}
});
AlertDialog alert = builder.create();
alert.show();
}

public void test(String str){
ShowMessageDialog("About to start new activity");
}

关于Android对话框自行消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com