如何在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); 
+0

我不会在这种情况下推荐使用应用程序上下文。它可能是不可预知的,并导致应用程序资源泄漏http://developer.android.com/reference/android/content/Context.html#getApplicationContext() – 2011-05-31 02:08:35

如果你想在堆栈顶部添加Activity_A的新副本,只需要像以前一样调用它。否则,请选择launch mode,具体取决于您希望Activity_A的第一个副本执行的操作。有关活动之间传递数据的解释,请参阅this question(方法#2)。