0

タブ付きのアクションバーを取得できましたが、ボタンをクリックすると、両方のフラグメントにテキストが設定されます。これを試してみると、フラグメントの1つだけが読み込まれるため、アプリがクラッシュします。両方のフラグメントにテキストを設定する方法はありますか?

4

2 に答える 2

0

フラグメントがロードされていない場合は、フラグメントがロードされたときに (テキスト ビューのインスタンス化中に) テキスト ビューを適切な値に設定できるように、テキストをどこかに保存する必要があります。(たとえば、フラグメントの onActivityCreated() 呼び出しで、使用するテキストを要求します)

于 2013-03-06T16:39:02.397 に答える
0

私の頭に浮かぶ解決策の1つは、テキストの値を設定に保存してから、2番目のタブから設定をロードすることです。次のようなものです。

//save the value in your first fragment to the preferences
        prefs = PreferenceManager
            .getDefaultSharedPreferences(view.getContext());
            SharedPreferences.Editor editor = prefs.edit();
            editor.putString("sampletext", "Your text value");
            editor.commit();

//get the value in your second fragment
prefs = PreferenceManager
            .getDefaultSharedPreferences(view.getContext());
prefs.getString("sampletext");

2 番目の汚いが高速な解決策は、最初のフラグメントで public static 変数を定義し、2 番目のフラグメントでその変数にアクセスすることです。この方法は、最初のフラグメントが 2 番目のフラグメントに切り替えられたときに破棄されない場合にのみ適用されます。

于 2013-03-06T16:47:58.270 に答える