我有一个关于警报对话框依次显示的问题。 我正在尝试显示三个警报对话框,但每次第一个出现的是第三个,在这种情况下第二个应该是第二个,而第一个总是最后一个。 我希望它们按照代码顺序显示。 请考虑代码并建议我为什么会发生这种情况以及可靠的解决方案。
私有(private)静态类 MyHandler 扩展处理程序 {
MainActivity activity;
public MyHandler(MainActivity activity){
this.activity = activity;
}
@Override
public void handleMessage(Message msg)
{
if(activity.connectionToTupleSpace == true)
{
activity.showDialog("Dialog 1", "It should be displayed first");
activity.showDialog("Dialog 2", "It should be displayed second");
activity.showDialog("Dialog 3", "It should be displayed third");
}
else
{
Toast.makeText(activity.getBaseContext(), " No connection to Tuple Space Server", Toast.LENGTH_SHORT).show();
}
}
};//handler for Thread
private void showDialog(String title, String message)
{
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle(title);
builder.setMessage(message);
builder.setPositiveButton("OK", null);
builder.show();
}
最佳答案
它们以正确的顺序显示。
首先显示对话框编号 1。 然后您在第 1 个对话的顶部显示第 2 个对话。 然后在第 2 个对话框的顶部显示第 3 个对话框。
这意味着数字 3 将首先显示,因为这是您添加的最新一个。
所以最简单的解决方案是:只需颠倒顺序,先显示 3,然后显示 2,再显示 1 :)
关于java - 为什么警报对话框未按正确顺序显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021600/