我有两个activity,分别是A和B,A是主界面,上面有edittext和button,B上面有listview(listview上面我放了switch控件), 我按button从A跳转到B,设置B中listview的switch为true或false,当设置完成,我在B中按返回键返回A,然后我再通过A的button跳到B的时候,就发现刚刚我设置的switch都复原,没有了我设置的状态,请问怎样才能够让B返回A之后依然保存我之前所设置的状态?求指导!!!activity切换保存状态

解决方案 »

  1.   

    返回到A的时候,把B变量存储在Preferences里面,下次再启动B的时候,读取这个变量恢复一下。
      

  2.   

    同过sharedPerferenced来保存,然后要使用的时候再取出来
      

  3.   

    上面说的对,SharedPerferenced最合适了。
      

  4.   

    感谢各位的回答,但是现在又出现了一个问题,
    在B界面中的listview有3行数据,每行数据都有textview和switch控件,
    我在onResume中把switch的状态放到CHECK_STA数组中,
    protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    CHECK_STA[0] = sp.getBoolean(SWITCH_1_KEY, true);
    CHECK_STA[1] = sp.getBoolean(SWITCH_2_KEY, true);
    CHECK_STA[2] = sp.getBoolean(SWITCH_3_KEY, true);
    //sp是 SharedPreferences sp;
    //list 是(ListView) findViewById(R.id.listView1);
    for(int i=0; i<3; i++)
    {
     View view = (View)list.getChildAt(i);
             Switch mSwitch = (Switch)view.findViewById(R.id.switch1);
             mSwitch.setChecked(CHECK_STA[i]);
    }
    }
    但是view的值无论如何都是null!!!我怎么才能够获得listview中switch的值呢???!?!??
      

  5.   

    你在onPause的时候去把值存储起来.....
    我估计在onResume时listview还没加载起来,所以获取的view是null
      

  6.   

    你在onPause的时候去把值存储起来.....
    我估计在onResume时listview还没加载起来,所以获取的view是null
    恩恩,应该就是这样所以出错了,感谢你的回答,我之前的想法有点错误,现在已经可以保存界面上面的设置了!!结贴咯,人人都有分~~