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);