看了android的生命周期,我朋友做了个例子:设计了两个activity,用主activity调用另一个activity,然后再返回。我们推测的执行过程是:当主activity调用另一个activity时,调用了onPause()方法,当从另一个activity返回时,应该执行onRusum()方法来激活原来的主activity。
  但实际在执行返回时执行的是:onStop()->onRestart()....
  这是为什么?那么如果要实现我们推测的那种结果,程序应该怎么设计?
  求教,谢谢了!!!!!!

解决方案 »

  1.   

    一个栈结构,最上面的即我们见到的界面。调用其他activity后,自身是stop状态。但这个并未destroy,你需要展示的时候,再重启,即restart--》onresume。我的理解。
      

  2.   

    上次执行了onstop activity全部不可见,下次会执行restart
    上次执行到onPause未执行onstop 此时Activity还是部分可见的,下次直接执行onRusum方法
      

  3.   

    Quote=引用楼主 tianjingzhao 的回复:]
      看了android的生命周期,我朋友做了个例子:设计了两个activity,用主activity调用另一个activity,然后再返回。我们推测的执行过程是:当主activity调用另一个activity时,调用了onPause()方法,当从另一个activity返回时,应该执行onRusum()方法来激活原来的主activity。
      但实际在执行返回时执行的是:onStop()->onR……
    [/Quote]
    当第一个Activity部分覆盖的时候就是onPause的
    <activity android:name=".SecondActivity"
             android:label="@string/second"
             android:theme="@android:style/Theme.Dialog"/>
      

  4.   

    你主activity调用是直接切换过去的吧?