我想在活动之间加载页面 因此,我尝试仅为加载创建新活动,但有一个问题 通过使用像
这样的意图,我无法获得“活动”价值 Intent i = new Intent(activity1.this, activity2.class);
i.putExtra("Activity", activity1.this);
startActivity(i);
但是,由于没有'getActivityExtras()',我无法获得此Extra值 我怎么能这样做??
答案 0 :(得分:2)
萨拉姆。
您无法从intent对象获取活动,但您可以从此方法获取活动名称:
intent.getComponent().getShortClassName()
注意:的 如果您的活动文件位于文件夹中,则方法的结果包含文件夹名称。 活动文件的示例"活动"文件夹:
.activities.SubActivity1
并且必须使用:
intent.getComponent().getShortClassName().split("\\.")[2]
答案 1 :(得分: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;
}