2010-03-29 66 views
0

我很困惑,需要理解我的概念。关于意向的问题,android

在MapsActivity中执行最后一条语句后,调用哪个函数?它是在继续?并在哪个函数(onResume()?)我应该把getExtra()?

Log.i("onMenuAnimate", "Attempting to animate to:"); 
Intent intent = new Intent(SearchDB.this, MapsActivity.class); 
intent.putExtra("com.gpsdroid.SearchDB.Lat", nameLatitude.getText()); 
intent.putExtra("com.gpsdroid.SearchDB.Long", nameLatitude.getText()); 
SearchDB.this.startActivity(intent); 

回答

1

花一些时间阅读Activity Life cycle;相信我,它会帮助你很多。

在给定的情况下,当您调用startActivity(..)时,MapsActivity将首先由活动管理器启动。在活动的生命周期中,只要首次创建活动,就会调用onCreate(..)。所以这可能是您可以调用getExtra()的地方之一。

AFAICT,您可以在任何生命周期方法中调用getIntent.getXXXExtra()。关于选择哪种生命周期方法的答案取决于正在传递什么以及何时/何时使用信息。

0

在这个语句之后,下一个要被调用的活动。然后每当按下后退按钮,就会恢复a \ first活动。你想要执行的代码应该放在onResume的重写方法中。