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)を呼び出してフラグメントを視覚化します。ただし、フラグメントgetItemはpageadapterクラスに含まれているため、続行する方法がわかりません。

4

1 に答える 1

18

最後に、私は自分で解決策を見つけました:)

表示したいフラグメントの位置をintent.putExtra()で渡し、呼び出されたアクティビティでViewPagerのsetCurrentItem(position)メソッドを使うと、必要なフラグメントが表示されます。

これが私と同じ問題を抱えている他の誰かを助けることができることを願っています!

于 2013-01-17T10:35:58.617 に答える