我的Android应用有很多Activities
截至目前,我每次开始新Finish()
时都会调用Activity
。
所以我之前的一个被彻底销毁,当用户按下后退按钮时,我完成当前活动并开始上一个活动的新Intent
。
这使我的应用非常慢,因为每次开始活动时都必须运行OnCreate
。
如果我没有完成之前的活动,如何在不完成此活动的情况下调用之前的活动?用户将开展相同的活动。
我还希望在活动之间切换时使用.PutExtra()
。
这就是我现在正在做的事情:
Intent intent = new Intent (this, typeof(AddNewActivity));
var json = JsonConvert.SerializeObject (myDataObject);
intent.PutExtra ("myDataObject", json);
StartActivity (intent);
Finish ();
所以基本上,我的问题是我怎么不能每次都开始一个新的Activity
并仍然在两个或多个活动之间传递数据?
谢谢。
答案 0 :(得分:1)
一个简单的解决方案就是不要打电话给#34;完成()"每次你去参加一项新活动。如果您遵循此方法,后退按钮将使用户返回到上一个活动的现有实例。因此,你可以绕过onCreate和任何耗时的操作。
至于传递数据:使用Intents。启动新活动时,请调用startActivityForResult。这将允许您:
请参阅:http://developer.android.com/training/basics/intents/result.html