新手,关于activity有些东西不太懂,求指导、1: 现在想做一个activity的跳转,比如A,B,C,D四个activity都可以通过intent启动activity E,E上面有一个按钮返回,如何才能让E正确的返回到之前的activity去?  因为没有参数要返回,所以没打算用startActivityforResult;2:要是通过intent的参数来传递 如 MainActivity.class 这样的参数给E  那么E就可以按照这个参数返回了,那么putExtra怎么写?3:startActivityforResult 会不会对效率有影象?  第一个activity通过这个函数启动了第二个后,第二个又去启动其他的活动,并不及时的返回,会对效率造成影响吗?4:1个activity 跳转到另一个后,它的进程状态变成什么样了?  一个activity被跳转到,它会调用那个函数响应?(之前已经OnCreate过了) 5: 关于获取时间,1个activity 跳转走时间,记录当前时间,跳转回来后计算经过了多长时间,来判断是否需要更新这个activity 中得内容。这个时间的获取,andriod自身是否有适合这一需求的时间函数?  或是直接用JAVA自带的时间函数。另外要实现这样的功能,这个activity跳转后是不是就不能 finish()?

解决方案 »

  1.   

    第一个问题:
    没必要用startActivityforResult,直接给E返回按钮绑定finish当前acitivity事件就可以了。
    第二个问题:
    接受Intent的值
    Intent intent = getIntent();
    String str = intent.getStringExtra("xxx");
    第三个问题:
    不知道对效率是否有影响。
    第四个问题:
    activity的生命周期,最好自己写个跳转,然后在activity声明周期打印出来。
    1个activity 跳转到另一个后:onPause 、onStop
    一个activity被跳转到,它会调用那个函数响应:onCreate 、onStart 、onResume
    一个activity被跳转到,(之前已经OnCreate过了):我想你说的是不是按了返回按钮,onRestart,onStart,onResume
    第五个问题:
    不要finish,在onPause获取时间,返回时在onResume再获取时间,相减即可。
      

  2.   

    谢谢回复  对于第一个问题,因为有数据要存下来,而且控件多,create的话可能比较慢,所以没打算用finish,想了一下,我把前一个activity的类名传过来,后面的activity再用Class.forName("包.类"),恢复出来,作为intent的参数,这样也成功了。另外,第五个问题,应该也可以用sharePreference的 这样就可以finish了吧如果要实现第五点的判断刷新,是不是就得在onRestart,onStart,onResume中都写上判断刷新的代码?