2017-06-14 71 views
0

我一直在使用finish()作爲後退按鈕來回到之前的活動,它的工作正常,但它不像預期的那樣工作在這個特定的場景中。Android後退按鈕行爲問題...

這裏是我的活動和功能的列表:

活動A - 顯示在線的論壇主題

活動B - 顯示一個論壇主題

活動C的評論 - 發佈新評論

在用戶發佈新評論後,他將被引導至活動B.

Issue:

當我點擊活動B上的返回按鈕時,它將返回活動C,因爲這是我以前的活動。

活性A - >活動B - >活動Ç - >活動B - >活動Ç - >活動B - >活動A

期望

我希望用戶從各種原因的活動B回到活動A.

活性A - >活動B - >活動Ç - >活動B - >活動A

我試圖使用意圖僅直接活性B到A時回壓,但它重新加載關於我不想要的活動A的數據。

代碼我想:

case android.R.id.home: 
      finish(); 
      return true; 
//this works if i am only going back and forth one activity 

case android.R.id.home: 
Intent i = new Intent(ActivityB.this, ActivityA.class); 
      i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      i.putExtra("forumLink", forumLink); 
      i.putExtra("forumTitle", forumTitle); 
      startActivity(i); 
//this refreshes Activity A data 

回答

1

呼叫finish()Activity C之前,從Ç

您可以Activity A的父母,和爲C的

+0

非常感謝!有用!!我會注意到將活動A作爲B的父母等。 – FadhliS

0

你纔去活動B. 由於您的活動Ç退出殺活動C,這就是爲什麼它正在進行活動c。 所以,使用finish()來殺死活動c。殺死活動c將把你重定向到活動b。