2012-12-04 22 views
0

活動1:
A ListView顯示朋友列表。
在好友列表中的項目的onClick()後,它會去活動2這是ProfileActivity顯示了這樣的朋友的細節。如何解決重複調用相同的Android活動

活動2(ProfileActivity):
而且還有一個ButtononClick()後,會去活動3(NearByActivity),這顯示了在10km以內20和附近的好友列表。

活動3(NearByActivity): 在onClick()之後,它將轉到活動2(ProfileActivity)。

故事是從活動2至Activity3,我不想開始活動之前finish()活動2,因爲用戶可能想回去。

所以,問題是:
如何完成活性2,如果用戶在活動3單擊任一項目,以便防止活動2 - >活動3 - >活動2 - >活動3 ...

雖然活動2將多次調用,配置文件詳細信息取決於哪個用戶被點擊。

或其他建議?

回答

0

使用FLAG_ACTIVITY_CLEAR_TOP

如果已設置,並且正在啓動的活動已在當前任務中運行,則不會啓動該活動的新實例,而是關閉其上的所有其他活動,並將此Intent交付給作爲新的Intent的(現在在最上面的)舊活動。

0

當一個按鈕從活動3點擊。只發送一個廣播消息(你也可以使用localbroadcas)。並在活動2會有一個BroadcastReceiver所以如果拿到轉播包含退出命令消息,然後它會完成()

1

您可以覆蓋onActivityResult()的活性2。當您完成Activity3時,只需將結果傳遞給Activity2。

實施例

//In Activity2 
onActivityResult(ReqCode , ResultCode, Intent) { 
    if(ResultCode == FINISH){ 
    finish(); 
    } else if(ResulCode == DO_SOMETHING_ELSE){ 
    // Do Somthing 
    } 

} 

//Activity 3 
onClick1(){ 
setResult(FINISH); 
finish(); 
} 

onClick2(){ 
    setResult(DO_SOMETHING_ELSE); 
    finish(); 
} 

見onActivityResult here

相關問題