在这种情况下,当当前运行的AlertDialog
出现在前面时,我必须显示Activity
。
仅当当前运行的活动是Activity
堆栈中的第一个活动时才显示,否则不会显示。
我的直觉是,这与当前的Context
有关,后者被传递来创建AlertDialog
。
有什么建议吗?
-编辑-
代码看起来像这样,像往常一样创建警报对话框。
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
答案 0 :(得分:0)
上面的图片描述了很多情况。:活动启动时,调用onCreate()
方法的最初且只有一次。然后,它调用onStart()
,依此类推。
您的问题不清楚。
我想,您在首次调用alertDialog
方法时启动了包含onCreate()
的活动。如果在此方法中调用alertDialog
,则会弹出它。但是,如果您在不破坏另一个活动的情况下启动了另一个活动,则该活动将进入后台,但仍在运行(以onPause()
模式运行)。当您完成新活动并返回目标活动时,它现在将调用onResume()
方法而不是onCreate()
,因为由于已经创建了活动,因此不需要该方法。但是肯定会在销毁活动之后调用它。因此,从另一项活动回来后,您可以使用onResume()
来呼叫alertDialog
。
答案 1 :(得分:0)
也可以在OnResume()方法和onStart()方法中应用AlertDialog代码,您会很高兴。 祝你好运:)
答案 2 :(得分:0)
对于我来说,您的对话框代码没有显示对话框,我更改代码并运行它,使其正常运行,
我认为这段代码对您有所帮助。
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("Title");
alertDialog.setMessage("MEssage");
// AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();