gpt4 book ai didi

java - AlertDialog 不显示在 android studio 中

转载 作者:行者123 更新时间:2023-12-02 13:31:36 24 4
gpt4 key购买 nike

我在android studio中有一个AlertDialog,如下所示:

final EditText columninput = new EditText(this);
columninput.setInputType(InputType.TYPE_CLASS_NUMBER);

AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle("Choose column number");
adb.setView(columninput);
adb.setMessage("Please specify the number of columns you would like to decrypt your message with.");
adb.setCancelable(true);
adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean bool = true;

try {
col = Integer.parseInt(columninput.getText().toString());
}
catch (Exception e) {
bool = false;
Toast t = Toast.makeText(getApplicationContext(), "Incorrect input", Toast.LENGTH_LONG);
t.show();
}

if (bool) {
dialog.dismiss();
}
}
});

adb.show();

method1(toRead, col);

请注意,toRead 是在此上下文之外处理的另一个变量;它不应该导致任何错误。当我运行应用程序时,AlertDialog 永远不会显示,并且 method1 会立即运行。但是,当我注释掉最后一行 (method1(toRead, col)) 时,应用程序运行时会出现警报对话框。为什么会这样,如何确保alertDialog始终显示?

最佳答案

出现此问题的原因是,当您打开 AlertDialog 时, Activity 会进入暂停状态。因此,当您隐藏最后一行并且不调用该方法时, Activity 可以进入 Pause 状态,并且 AlertDialog 成功显示。

而在另一种情况下,当调用最后一个方法时,会发生什么:
在创建 AlertDialog 之前,将调用 method1()

我希望这会有所帮助。

关于java - AlertDialog 不显示在 android studio 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167469/

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