我有三个Activity,第二个Activity里面的值是第一个Activity里面传过来的,第二个Activity跳转到第三个Activity,现在我从第三个Activity返回到第二个,那我之前第二个Activity上有第一个页面里传过来的值怎么保留啊?android,activity,传值

解决方案 »

  1.   

    protected void onSaveInstanceState(Bundle outState) {
    //     把值存到这个outState里
         outState.putString(key, value);
         super.onSaveInstanceState(outState);
        }
    再在
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);  
            setContentView(new MySurfaceView(this));
        }这个方法里的参数就是你存的
    savedInstanceState.get(key)
      

  2.   

    了解activity的生存周期,第三跳第二个,其实是第三个finish,第二个restart,还有一般不是用intent传值么,即简单又OK
      

  3.   

    要看你从第三个回到第二个采取的是什么方式了,如果是fininsh的话其实第二个里面的那个值并没有消失,如果是intent跳转过去的,那就用intent传值吧,具体的intent传值如果还不明白的话简单的搜一下就很多了!
      

  4.   

    启动其他Activity的时候用startActivityForResult方法,然后重写onActivityResult方法,在Activity重新获得焦点的时候会获得到前一个Activity的setResult方法设置的返回值
    案例:
    http://blog.csdn.net/qq282133/article/details/7642373