3

実際にコンテナfragmentに入れずにバンドルをに送信する方法はありますか? 入力フィールドからいくつかを取得し、後で別のフィールドでそれらを呼び出しfragmentたいので、私は尋ねます。StringsEditTextsfragment

私はこのようなコードを持っています

Bundle bundle = new Bundle();
Fragment fragment = new Assessment_Fragment();
bundle.putString("company", companyName);
bundle.putString("project", projectName);
fragment.setArguments(bundle);

getFragmentManager().beginTransaction()
.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
.replace(R.id.header_fragment_container, fragment).commit();

このコードでは、バンドルをトランザクションに渡しますがfragment、「header_fragment_container」内の既存のものも置き換えます。私はそれをしたくありません。バンドルされたデータを指定されたに渡したいだけですfragment。それfragmentが最終的に呼び出されると、バンドルを受け取ります。これは可能ですか?

4

1 に答える 1

4

これは可能ですか?

もちろん。最後の Java ステートメント ( getFragmentManager()....) を削除するだけです。

ここで、フラグメントを作成することが賢明であるかどうかについては、(UI を使用するかどうかに関係なく) フラグメント マネージャーに決して追加しないでください。それは別の問題です。Java は多くのクラスをサポートしています。Fragmentそれらの1つにすぎません。Bundle汎用データ コンテナーが必要な場合は、それ自体など、軽量なものを選択してください。

于 2013-06-07T21:01:32.827 に答える