0

我设法获得了一个带有选项卡的操作栏,但是当我单击一个按钮时,应该在两个片段中设置一个文本。如果我尝试这样做,它会使应用程序崩溃,因为只加载了一个片段。有没有办法可以在两个片段中设置文本?

4

2 回答 2

0

如果片段未加载,那么您应该将文本保存在某处,以便在加载片段时,它可以(在实例化文本视图时)将文本视图设置为适当的值。(例如在片段的 onActivityCreated() 调用中,要求使用文本)

于 2013-03-06T16:39:02.397 回答
0

我想到的一个解决方案是,您可以将文本的值保存到首选项,然后从第二个选项卡加载首选项。像这样:

//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");

第二个也是肮脏但快速的解决方案是在您的第一个片段中定义一个公共静态变量并在您的第二个片段中访问该变量。只有当您的第一个片段在切换到第二个片段时没有被破坏时,此方法才适用。

于 2013-03-06T16:47:58.270 回答