1

特にアクティビティを水平 PagerAdapter に表示するために、Android Fragments を使用しようとしています。

全体的には問題なく動作しますが、引数を Framgents に渡し、onCreateView() メソッドでそれらを取得するのに問題があります。

基本的に、次のようにフラグメントを作成します。

Bundle args = new Bundle();
args.putInt(ActionCodes.GAME_INDEX, game.getIndex());
fragments.add(Fragment.instantiate(this, GameReadActivityFragment.class.getName(), args));

BundleFragment.instantiate() メソッドに引数を渡していることに注意してください。

次に、GameReadActivityFragment.onCreateView() で、次のことを行います。

int gameIndex = this.fragmentActivity.getIntent().getExtras().getInt(ActionCodes.GAME_INDEX);

getExtras()しかし、 nullを返すため、NullPointerExceptionが発生します:(

答えを探しましたが、手が届きませんでした。このバンドルにアクセスするには、何か別のものを使用する必要があると考える傾向がありますが、getExtras()何がわかりません。

前もって感謝します。

4

1 に答える 1

2

次のようにします。

public static MyFragment newInstance(String bar) {
        MyFragment frag = new MyFragment();
        Bundle args = new Bundle();
        args.putString("foo", bar);
        frag.setArguments(args);
        return frag;
    }

ではonCreateView、次のことができます。

String text = getArguments().getString("foo");
于 2012-06-21T01:55:14.483 に答える