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

Dav*_*vid 4 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;
}
Run Code Online (Sandbox Code Playgroud)

rga*_*ber 10

当您从任何活动转到活动C时,您可以通过extra意图传递.然后,您可以extra活动C中检索它并根据需要使用它

例如.

当你从A到C:

Intent mIntent = new Intent(this, ActivityC.class); //'this' is Activity A
mIntent.putExtra("FROM_ACTIVITY", "A"); 
startActivity(mIntent);
Run Code Online (Sandbox Code Playgroud)

当你从B到C:

Intent mIntent = new Intent(this, ActivityC.class); //'this' is Activity B
mIntent.putExtra("FROM_ACTIVITY", "B"); 
startActivity(mIntent);
Run Code Online (Sandbox Code Playgroud)

现在在Activity C中,你检索这个:

Intent mIntent = getIntent();
String previousActivity= mIntent.getStringExtra("FROM_ACTIVITY");
Run Code Online (Sandbox Code Playgroud)

然后你可以使用

if (previousActivity.equals("A")){...}

                or
Run Code Online (Sandbox Code Playgroud)

if (previousActivity.equals("B")){...}

在你的问题中.