【问题标题】:Save a Activity in Android When moved to another Activity [duplicate]在Android中保存一个活动当移动到另一个活动时[重复]
【发布时间】:2011-12-18 12:21:06
【问题描述】:

可能重复:
How do I save an Android application's state?

我目前正在使用具有以下行为的应用程序: 我正在使用 2 Edittext,我在其中输入了一些值,当我按下按钮时 它将转到下一页或活动,但是当我返回活动时,问题就在这里,我在edittext中找不到值,请帮助我.. 请告诉我代码... 在此先感谢....

这是我的代码....

public class TestsampleActivity extends Activity 
{
        Button b1,b2;
        TextView t1;
        EditText e1;

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            b1= (Button)findViewById(R.id.btn1);
            b2= (Button)findViewById(R.id.btn2);
            t1=(TextView)findViewById(R.id.tv1);
            e1=(EditText)findViewById(R.id.et1);


            b1.setOnClickListener(new Button.OnClickListener() 
            {   
                 public void onClick (View v){ add(); }
            });

            b2.setOnClickListener(new Button.OnClickListener() 
            { 
                 public void onClick (View v){ del(); }
            });
       }
       public void add()
       {
            String s1= e1.getText().toString();
            Intent intent=new Intent(this,next.class);
            intent.putExtra("name",s1);
            startActivity(intent);


            /* String s1= e1.getText().toString();
            //t1.append(s1);
            t1.setText(s1);
            */
       }
       public void del()
       {             
           e1.setText("");
           t1.setText("");
       }
}

【问题讨论】:

    标签: android


    【解决方案1】:

    在加载新活动之前,您必须覆盖 onSaveInstanceState(Bundle b) 以保存数据。

    您还必须恢复覆盖 onRestoreInstanceState 并取回值...

    您可以在这里查看更多信息:

    Saving Android Activity state using Save Instance State

    http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

    【讨论】:

      【解决方案2】:

      将编辑中的文本保存到onSaveInsanceState() 方法中提供的bundel。然后在您的 onRestoreInstanceState() 方法中,使用您保存的值来恢复 EditTexts 中的文本。

      【讨论】:

        【解决方案3】:

        返回上一个Activity时: 使用以下方法:

        Intent intent_obj=new Intent();
        String id = intent_obj.getStringExtra("id");
        e1.setText(id);
        

        这会起作用....!!!

        【讨论】:

          猜你喜欢
          • 2013-07-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-15
          • 1970-01-01
          相关资源
          最近更新 更多