比接受的答案更整洁的方法是使用Serializable
or Parcelable
。
这是一个如何使用的示例Serializable
:
在您的第一个活动中...
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRA_NEXT_ACTIVITY_CLASS", ThirdActivity.class);
startActivity(intent);
然后在你的第二个活动中......
Bundle extras = getIntent().getExtras();
Class nextActivityClass = (Class<Activity>)extras.getSerializable("EXTRA_NEXT_ACTIVITY_CLASS");
Intent intent = new Intent(SecondActivity.this, nextActivityClass);
startActivity(intent);
这样做Parcelable
几乎是一样的,除了你将extras.getSerializable("EXTRA_NEXT_ACTIVITY_CLASS")
在上面的代码中替换为extras.getParcelable("EXTRA_NEXT_ACTIVITY_CLASS")
.
Parcelable 方法会更快,但更难设置(因为您需要实现第三个 Activity Parcelable
- 请参阅http://developer.android.com/reference/android/os/Parcelable.html)。