所以我的应用程序中有两个单独的活动,它们都有一个'联系人'他们的按钮。点击两个活动上的任一按钮都会启动相同的' ContactActivity'。现在的问题是,当我想为这项活动实施导航时,我将如何根据我所进行的活动进行导航?
原因是因为当在ContactActivity上,并且点击导航时我带回了定义的父活动,在这种情况下,两个活动在技术上是父,取决于您从哪个活动调用联系人意图。我知道我可以将ContactActivity复制到另一个,并使用单独的,但我只是觉得可以有一种更简单的方法。
答案 0 :(得分:0)
也许它不理想,也许你可以在你用来运行你可以在onBackPressed()上评估的子活动的意图中传递一个参数。
我的理由是:A和B是C的父母活动。如果你在A并且打电话给C,你可以这样做:
Intent intent = new Intent(this, C.class);
intent.putExtra("parent", "A")
在C中你得到那个参数:
mParentActivity = intent.getStringExtra("parent");
然后在onBackPressed():
public void onBackPressed() {
if(mParentActivity.equals("A")) {
Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} else if (mParentActivity.equals("B")) {
Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} else {
super.onBackPressed();
}
}