以下是以下情况:
EditText
Fields
和其他A
A
点击B
移至活动Button
B
移动到活动A
EditText
现已消失。它们都是空的有没有办法保存活动A
的当前状态。这样我可以填充EditText
回来?如果没有那么我怎样才能完成上述任务?
答案 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");
}
如果您要销毁活动并再次创建活动,请使用此方法。