1

我有一个2屏幕的android应用程序。从第一个屏幕到第二个屏幕,我设置了一个对话框。我的代码是:回到上一个活动在android中有一个对话框

@Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(MainActivity.this); 
      pDialog.setTitle("Please wait"); 
      pDialog.setMessage("Authenticating User"); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.setCanceledOnTouchOutside(false); 
      pDialog.show(); 

      Intent it = new Intent(MainActivity.this, SecondActivity.class); 
      it.putExtra("invoiceid", invc); 
      it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(it); 
      //finish(); 

     } 

当运行代码时,单击后退按钮时,它将显示对话框并进入第一个屏幕。 现在我想直接显示第一个屏幕,点击后退按钮而不显示对话框。它可能如何?

如何清除第一个屏幕,如果有一个文本框?

+0

尝试pDialog.dismiss()startActivity之前(它); –

+0

关闭onPostExecute中的对话,然后开始您的活动。不要从onExExcute开始。 – VoidExplorer

+0

您是否为第二个活动指定了分层父级? – Neeraj

回答

1

startActivity(it);
尝试pDialog.dismiss()如果你想转移任何之前设置文本清除任何文本框的任何数据的第一个活动到的EditText “”活动它将清除EditText中的数据。

1

尝试使用

 Intent it = new Intent(MainActivity.this, SecondActivity.class); 
     it.putExtra("invoiceid", invc); 
     it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
     pDialog.dismiss(); 
     startActivity(it); 
+0

'Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK'你为什么需要这个? – Neeraj

+1

Here http://stackoverflow.com/questions/23718356/flag-activity-clear-top –

2

公共无效解雇()

在API级别1辞退对话框中,从屏幕中移除。 可以从任何线程安全地调用此方法。请注意, 不应覆盖此方法以在对话框 被解雇时进行清理。

 pDialog.dismiss(); 
     Intent it = new Intent(MainActivity.this, SecondActivity.class); 
     it.putExtra("invoiceid", invc); 
     it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(it); 
1

试试这个

pDialog.dismiss() before startActivity(it) 
0

您必须先解雇dialogBox,然后再将其转换为其他活动。 加入你的意图在onPostExecute

pDialog.dismiss(); 

然后打电话给你的意图

Intent it = new Intent(MainActivity.this, SecondActivity.class); 
      it.putExtra("invoiceid", invc); 
      it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(it);