如何在恢复状态时填充EditText数据?

时间:2016-04-15 19:13:56

标签: java android android-layout android-activity

以下是以下情况:

  1. 在活动EditText
  2. 中填写Fields和其他A
  3. A点击
  4. 上从活动B移至活动Button
  5. 现在从按钮点击
  6. 上的活动B移动到活动A
  7. 已填充EditText现已消失。它们都是空的
  8. 这些字段应预先填充(因为用户已填充它们)
  9. 有没有办法保存活动A的当前状态。这样我可以填充EditText回来?如果没有那么我怎样才能完成上述任务?

3 个答案:

答案 0 :(得分:1)

使用SharedPreferences.Editor将EditText数据保存在onPause上,并使用SharedPreferences onResume检索数据。这是最简单的方法。

答案 1 :(得分:1)

你是如何从b回到?如果您正在使用intent,那么您将启动该'a'活动的新实例。就像上面提到的一些你应该在你的b活动中使用完成,这将带你回到。如果您需要填充b中的数据,那么您应该使用startActivityForResult - http://developer.android.com/training/basics/intents/result.html

答案 2 :(得分:0)

要保存活动状态,请覆盖OnSaveInstanceState()方法。

@Override
protected void onSaveInstanceState(Bundle savedInstanceState)
{
    super.onSaveInstanceState(savedInstanceState);
    savedInstanceState.putString("key", somevalue); //save your data in key-value pair
}

并使用

恢复该值
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
    super.onRestoreInstanceState(savedInstanceState);
    somevalue = savedInstanceState.getString("key"); 
}

如果您要销毁活动并再次创建活动,请使用此方法。