2012-10-31 24 views
0

這是理論上的問題,但我需要一些建議。我在我的活動之間切換的邏輯很複雜。一個部分很簡單:ActualActivity - >從下一個開始。問題在於previousActivity < - ActualActivity(通過後退按鈕)。如果我可以循環走路,我該怎麼辦? 當我完成邏輯處理的最後一個活動,並且我需要完成前4個活動之前的這個處理!?當然,我不想每個人都回電話。活動管理(後退)訂單

這是我決定默認爲每個活動調用finish()的原因之一。我覆蓋了StartActivity,並在那裏完成()。我還修復了爲每個活動設置backIntent。但有時這還不夠。 是否有可能將Intent以某種方式發送給其他Activity?爲了更好地理解我的想法:intent.putExtra(BackIntent)

我很清楚這是不常見的,很好的解決方案。 如何管理不需要的「onPaused」活動?我怎樣才能知道活動是否暫停並致電恢復?

謝謝。

回答

0

我覺得你的問題可以用「startactivityforresult」

//Activity A 
private void someMethod() 
{ 
    this.startActivityForResult(intentForActivityB, 123456); 
} 


@Override 
protected void onActivityResult(int request, int result, Intent intent) 
{ 
    if(request == 123456 && result == Activity.RESULT_OK) 
     this.finish(); 

    super.onActivityResult(request, result, intent); 
} 


//Activity B 
private void someMethod() 
{ 
    this.setResult(Activity.RESULT_OK); 
    this.finish(); 

} 

這可以解決將關閉一個活動時,活動B是OK(的setResult),一個只有在這種情況下