2012-10-31 27 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),一个只有在这种情况下