我可以查看以前的活动是哪个Android吗?

时间:2014-08-05 20:20:37

标签: android if-statement android-activity

我可以从两个不同的活动A和B到达活动C.活动C有一个按钮。我想检查一下是从C转到C还是从B转到C.如果我从A转到C,我希望按钮做一件事,如果我从B转到C,我想要按钮来做另一件事。

是否可以检查之前的活动是哪个?

像这样......

else if (id == R.id.action_button) {

if (previosActivity == A) {

    Intent intent = new Intent(this, NewActivity.class);
    startActivity(intent);  
}

else if (previosActivity == B) {

    Intent intent = new Intent(this, AnotherActivity.class);
    startActivity(intent);
}

return true;
}

3 个答案:

答案 0 :(得分:10)

答案 1 :(得分:0)

我认为没有直接的方法可以做到这一点,但您可以查看用于启动Intent的{​​{1}}。

例如,您可以向启动了活动C的Activity添加额外字段。

Intent

然后在活动C中,您可以使用Intent i = new Intent(this, ActivityC.class); i.putExtra("Key", "Value"); 来查看。

答案 2 :(得分:0)

您需要在活动A和B中向Intent添加信息,然后在C中读取该信息。

在A和B中:

public static final String KEY_ACTIVITY_NAME = "KEY_ACTIVITY_NAME";

Intent intent = new Intent(context, ActivityC.class);
intent.putExtra(KEY_ACTIVITY_NAME, activityName);
startActivity(intent);

然后在C:

if (getIntent().getStringExtra(KEY_ACTIVITY_NAME) == "A") {
    //Do something
} else if (getIntent().getStringExtra(KEY_ACTIVITY_NAME) == "B" {
   //Do something else
}