从活动B打开活动A的特定片段

4

再次见面!

情况是这样的,我有:

Activity A 实现了一个 viewPager 并展示了三个可能的 fragments。为了访问每个 fragment,我使用以下代码:

    @Override
    public Fragment getItem(int page) {
        switch (page) {
            case 0: return new MyFirstFragment();
            case 1: return new MySecondFragment();
            case 2: return new MyThirdFragment();
        }
        return null;
    }

    @Override
    public int getCount() {
        return [the count of total fragments];
    }

第三个片段包含用户列表。当我点击一个用户时,将启动活动B。使用意图:

// Create new Intent Object, and specify class
Intent intent = new Intent();
intent.setClass(Fragment3.this, ActivityB.class);
//Use startActivity to start Activity B
startActivity(intent);

在活动B中有一个按钮,可以将我重定向到片段2。那么问题来了:我怎样才能回到看到Fragment 2?我想重新启动活动A,并使用putExtra指定应该显示哪个片段。例如,在这种情况下,我会传递数字2,并希望调用函数Fragment getItem(2)来可视化片段。但是,Fragment getItem包含在pageadapter类中,所以我不清楚应该如何继续进行。
1个回答

18

终于我自己找到了解决方案 :)

我使用intent.putExtra()来传递我想要显示的片段的位置,然后在被调用的activity中,我使用ViewPager的setCurrentItem(position)方法就可以显示所需的片段。

希望这能帮助其他遇到同样问题的人!


感谢您的快速解决方案! - mrx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接