[英]maintain state of activity after calling it again
我有两个活动A1和A2,在触发某些事件时,我正在通过A1调用A2(通过意图)。 现在在A2内部,我引发了一些事件,并基于此事件再次调用A1并通过intent传递数据。
现在的问题是,当从A2用数据调用A1时,A1活动会以新状态自行加载,但是我想在首次加载A1时保持其旧状态。 间接地,我不想调用onCreate。
到目前为止,我已经尝试在A1活动中遵循以下代码,它是A1中的一种静态方法,该方法会自行加载
public static void show(Context context , int index)
{
final Intent intent = new Intent();
intent.setAction(MC_MY_ACTION);
intent.putExtra("routeIndex", index);
context.startActivity(intent);
}
从A2我正在从onOptionsItemSelected调用A1,并传递selectedMenuIndex
A1.show(this,selectedMenuIndex);
如果您的活动已经完成(),那么您就不必避免再次执行onCreate()了-但是,您不必为此担心。 只需让您的onCreate()检查其意图附加的内容,如果没有,则遵循默认的初始化,但是如果有附加,则使它们携带足够的状态数据,以便您可以返回到先前的状态。
如果要保存活动状态并通过多次onCreate()调用使活动状态保持不变,则可以使用Bundle对象。 您可以在onSaveInstanceState()中保存到活动的捆绑软件中,然后将其重新加载到onCreate()中。 看看http://developer.android.com/reference/android/app/Activity.html和http://developer.android.com/reference/android/os/Bundle.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.