在活动片段中的TextView中设置文本

时间:2013-03-06 16:33:44

标签: android android-fragments

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

第二个又脏又快的解决方案是在你的第一个片段中定义一个公共静态变量,并在你的第二个片段中访问该变量。只有当你的第一个片段在切换到第二个片段时没有被销毁时,这个方法才适用。