4

又是在这里!

情况是这样的,我有:

实现 viewPager 并可视化 3 个可能的片段的活动 A。要访问每个片段,我使用以下代码:

    @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];
    }

片段 3 包含用户列表。当我单击用户时,活动 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。所以问题是:我怎样才能返回看到片段号 2?我正在考虑重新开始活动 A 并使用 putExtra 来指定应该可视化哪个片段。

例如,我将传递一个数字,在这种情况下为 2,并想调用函数 Fragment getItem(2) 来可视化片段。但是,Fragment getItem 包含在 pageadapter 类中,所以我不清楚如何进行。

4

1 回答 1

18

最后我自己找到了解决方案:)

我使用 intent.putExtra() 来传递我想要显示的片段的位置,然后在被调用的活动中我使用 ViewPager 的方法 setCurrentItem(position) 并显示想要的片段。

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

于 2013-01-17T10:35:58.617 回答