小弟的程序现需要实现从A画面点击一个按钮迁移至B画面,在B画面点击【back】重新按钮返回A画面,现要求当画面B-->画面A的时候,A画面入力值能够保存不清空,该如何实现?在点击B画面的【back】按钮时,应怎么处理?

解决方案 »

  1.   

    什么意思?A中什么不清空?
    activity调整传值的话,调用intent的putExtra就可以传值了,A返回B的时候,也就是点 back的时候,也是用startactivity 吧?这个时候
    Intent it = new Intent();
    it.putExtra("msg",/*这里填A不清空的数据*/);
    startActivity...然后B中
    Bundle bundle=getIntent().getExtras();
    String msg=bundle.getString("msg");//记录下A发过来的数据
    再进入A的时候,把记录的msg再用putExtra的方式发送给A。其实这样很麻烦,定义一个公共类,然后将传递的内容作为全局变量,这样就方便一些了
      

  2.   

     谢谢回答。就是比如A中有3个EditText,用户在这三个EditText中输入了不同信息后,跳转至B画面,B画面点【Back】后回到A时,A画面那3个EditText上输入的信息还能保存不清空。
      你的回答我明白了,可这样确实太麻烦了,不知道有没有其他简便的方法。建立公共类的话也不是很合适,因为A画面上的控件并不是固定的,而是在OnCreate方法里动态生成的。
      

  3.   

    那就通过sharedPreference来实现数据共享吧。
    http://blog.csdn.net/weichaohnu/archive/2010/05/27/5629503.aspx
    看一下
      

  4.   

    1、你可以把临时的值 放在缓存里面吧,等界面返回的时候 直接从缓存里面取出来就是了2、也可以把你所用的 数据暂时存储在SharedPreference中,一个轻量级的数据存储和共享工具3、最笨的繁琐 地方法是存储到SQLite中去
      

  5.   

    android中没有办法类似于将画面作为一个对象传递,当我点返回按钮的时候startActivity方法直接启动前一个画面的画面对象?
      

  6.   

    ....android界面显示是层叠的关系,也就是一层盖在一层上面,所以在按手机物理按键的back的时候,会自动返回上一层界面。
    这都是系统处理的,所以咱们不需要特别的去传view对象来显示上一层。
      

  7.   

    我的怎么自动保存着好好着呢,我跳转时用的是startActivityForResult()方法,跳到到B页面后点确定回来后A页面刚才输入的还在。