0

Activityからに値を渡すにはどうすればよいFragmentですか?

とで使用できることを理解していsetArgumentます。しかし、私は運が悪かった。値は引き続き null として返されます。ActivitygetArgumentFragment


アクティビティ

public class nfc_activity extends Activity {
    private ImageView mCardView;
    MyFragmentA f2;
    public static String itemname;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         Button goButton = (Button)findViewById(R.id.go);
            goButton.setOnClickListener(mGoListener);


        }

       private OnClickListener mGoListener = new OnClickListener()
        {
            public void onClick(View v)
            {
                // Here we start up the main entry point of our redirection
                // example.
                String itemname ="1";

                  MyFragmentA fragment = new MyFragmentA();
                Bundle bundle2 = new Bundle();
                bundle2.putString("key", itemname);
                fragment.setArguments(bundle2);

            }
        };

}

断片

public class MyFragmentA extends Fragment {



 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {

  Bundle bundle = this.getArguments();
  if (bundle != null) {
      String hello = bundle.getString("key", defaultValue);
      System.out.println(hello);
  }
4

2 に答える 2

0

Tag を使用して Fragment を識別し、findFragmentByTag を使用してそれを取得しようとしましたか? 膨張したXMLレイアウトのIDまたはコンテナレイアウトのIDを実際に探すfindFragmentByIdを使用するよりもきれいに思えます!

于 2012-08-19T01:49:26.010 に答える
0

コードは、フラグメントがアクティビティにどのようにアタッチされているかを示していませんが、フラグメントを onCreateView で使用できるようにするには、アタッチする前にフラグメントに引数が設定されていることを確認する必要があります。

于 2012-07-31T18:07:25.713 に答える