如何在Android中从一项活动跳到另一项特定活动?
问题描述:
我在Android中有3个活动,如activity_A,activity_B和activity_C。调用像这样的activity_A >>>>>>> activity_B >>>>>> activity_C。目前我在activity_C中,现在我想直接跳到activity_A而不进入activity_B,我也必须传递一些数据。如何在Android中从一项活动跳到另一项特定活动?
如何?请给它一些代码!
在此先感谢! Arthur
答
您可以使用与您用于从A >>> B和B >>> C获得的类似的代码。您可以使用finish()
退出您的活动。在你的情况中,你会在C中设置一个标志告诉B完成,然后在C中调用finish()
。在B中,在onResume()
方法和finish()
B中查找该标志(如果存在)。
答
从您的ActivityC代码:
Intent intent = new Intent(this, ActivityA.class);
intent.putExtra("a key string", data);
startActivity(intent);
在ActivityA你可以使用恢复数据:
Bundle extras = getIntent().getExtras();
if (extras != null) {
// here use the getters in extras to retrieve the appropiate data type
// for example if your data is a String the you would call
// extras.getString("a key string");
}
答
具体的代码将取决于数据的类型。但是你可以这样做:
Intent i = new Intent(getApplicationContext(), ActivityA.class);
i.putExtra("myData", someData);
startActivity(i);
答
如果你想在堆栈顶部添加Activity_A的新副本,只需要像以前一样调用它。否则,请选择launch mode,具体取决于您希望Activity_A的第一个副本执行的操作。有关活动之间传递数据的解释,请参阅this question(方法#2)。
我不会在这种情况下推荐使用应用程序上下文。它可能是不可预知的,并导致应用程序资源泄漏http://developer.android.com/reference/android/content/Context.html#getApplicationContext() – 2011-05-31 02:08:35