一个活动有多个父活动?

时间:2014-03-20 20:30:03

标签: java android

所以我的应用程序中有两个单独的活动,它们都有一个'联系人'他们的按钮。点击两个活动上的任一按钮都会启动相同的' ContactActivity'。现在的问题是,当我想为这项活动实施导航时,我将如何根据我所进行的活动进行导航?

原因是因为当在ContactActivity上,并且点击导航时我带回了定义的父活动,在这种情况下,两个活动在技术上是父,取决于您从哪个活动调用联系人意图。我知道我可以将ContactActivity复制到另一个,并使用单独的,但我只是觉得可以有一种更简单的方法。

1 个答案:

答案 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();
        }
    }