5

値を1つの変数に格納できるので、その変数をフラグメントに渡します。

次のコードでフラグメントをロードできます。

   public class AndroidListFragmentActivity extends Activity {
Fragment2 f2;
public static String itemname;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.apetiserfragement);
    itemname=getIntent().getStringExtra("itemname");
    Bundle args=new Bundle();
    args.putString("itemname", itemname);
    f2=new Fragment2();
    f2.setArguments(args);

}
}

(ここでは、XMLページを使用してフラグメントをロードします)itemname

出力は2つのウィンドウに分割されます。1つはlistfragment(listview用)の拡張用です。フラグメント用に1つ

Fragment2.xml

    public class Fragment2 extends Fragment {
String itemname;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    System.out.println(getArguments().getString("itemname"));

    return inflater.inflate(R.layout.fragment2, container, false);
}

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

}

  }

このクラスitemnameのAndroidListFragmentActivityFragment2.classを渡します。

4

2 に答える 2

5

フラグメント コンストラクターの 1 つで提供されるバンドルを使用すると、必要な場所で適切に実行してバンドルを取得できるはずです。getArguments()onCreateView()

例:

YourFragment.instantiate(context,"fragName",yourBundleWithValue);

次に、フラグメントで:

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

    getArguments().getStringValue("name"); //Returns your string value

    return inflater.inflate(R.layout.fragment2, container, false);
}
于 2012-06-09T06:41:24.163 に答える
-1

FragmentManagerを表示するには、 を使用する必要がありますFragment

于 2014-08-19T01:59:51.153 に答える