我要做的是将所有数据保存在子活动中并返回父活动。
换句话说,就堆栈结构而言,应该保留位于堆栈结构顶部的子活动,并返回到父活动。
提前感谢您的帮助
答案 0 :(得分:1)
您可以使用的一种方法是使用startActivityForResult()
启动子活动。然后,一旦子活动关闭,数据将传递回父活动。
如果您希望使用与以前相同的数据再次启动子活动,则可以检查父活动是否包含先前结果中的任何数据,并将其解析为intent中的新子活动。
ParentActivity
String mData = null; //this goes above the parent's onCreate method, using a string as an example
//this is where you start the child activity
Intent intent = new Intent(context, ChildActivity.class);
if(mData != null) {
intent.putExtra("MyData", mData);
}
startActivityForResult(intent, mRequestCode);
ChildActivity
onCreate...
if(getIntent().getStringExtra("MyData") != null) {
//handle restoring the child activity to its previous state
}
在您的父活动中,您甚至可以删除if语句,因为子活动会检查发送的数据是否为空。
答案 1 :(得分:0)
一个时刻只能有一个活动活动。如果需要保存状态,请将其序列化为SharedPreferences或数据库
答案 2 :(得分:0)
我建议使用Fragment而不是activity。我认为这比使用活动更好。