2013-02-15 77 views
0

我想在活动之间进行加载页面。
所以,我试图只为加载新的活动,但有一个问题。
我不能使用意图像“活动”值,Android:我如何通过使用意图获得活动价值?

Intent i = new Intent(activity1.this, activity2.class); 
i.putExtra("Activity", activity1.this); 
startActivity(i); 

然而,因为没有我不能得到这个额外的价值“getActivityExtras()”。
我该怎么做这个..?

回答

1
// define NAME in Activity 1 
public const NAME = "Activity1";  

Intent i = new Intent(activity1.this, activity2.class); 
i.putExtra("Activity", "Activity1.NAME"); 
startActivity(i); 

// in Activity 2 
activity = getStringExtra("Activity"); 

switch(activity) { 
case Activity1.NAME: 
// do whatever you want here 
break; 

}

+0

THX的答案... 我找到了另一种方式来解决这个问题..! - 使用getSerializable()可以获取活动的上下文。 Plz ref :) – Initiator 2013-04-02 05:35:06

2

萨拉姆。

你不能从意向对象的活动,但你可以从这个方法获得活动名称:

intent.getComponent().getShortClassName() 

注: 如果你的活动文件的文件夹,方法的结果中包含的文件夹名称。 例如,对于里面的“活动”文件夹活动文件:

.activities.SubActivity1 

并且必须从使用:虽然我很迟

intent.getComponent().getShortClassName().split("\\.")[2]