【发布时间】:2015-08-22 14:52:38
【问题描述】:
我在我的程序中设置了一个 tabhHost,其中包含 3 个选项卡,每个选项卡的内容中都有一个包含 textView 的片段。我在应用程序中设置了一个按钮,该按钮应该更新每个选项卡的内容。然而,我现在面临的问题是,如果我更改一个选项卡,它的内容会被遗忘,并且新选项卡也没有任何价值,除非我再次单击该按钮。每个选项卡内容都有一个不同的类,但在每个选项卡中,该类只返回带有 textview 的视图。我假设在每个视图上重置的值都会膨胀,但是我找不到合理的方法让它按照我的意图工作。
这是我的按钮运行的方法的代码部分:
public void getNum(View view) {
proteinNeeded = weightNum.getValue() * FirstActivity.weightMultiplier;
carbohydrateNeeded = weightNum.getValue() * 5;
switch (weightMultiplier) {
case 2: {
resultTxt = String.format("Zapotrzebowanie:%nBiałko - %dg.%nWęglowodany - %dg.%n",
FirstActivity.proteinNeeded, FirstActivity.carbohydrateNeeded);
FragmentTab.tv.setText(resultTxt);
FragmentTab2.dietTxt = String.format("text1");
FragmentTab2.tv.setText(FragmentTab2.dietTxt);
FragmentTab3.foodTxt = String.format("text2");
FragmentTab3.tv.setText(FragmentTab3.foodTxt);....
这是来自 FragmentTab.java 的代码,每个选项卡都有或多或少相同的代码,所以我现在只发布这个:
public class FragmentTab extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public static View v;
public static TextView tv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_layout, container, false);
tv = (TextView) v.findViewById(R.id.textResult);
if (tv != null) {
tv.setText("nothing has been input yet");
}
return v;
}
}
TL;DR - 我如何在 textView 中保存我的值,以便在我的文本更新后它不会在视图刷新后恢复为默认值?
【问题讨论】:
标签: android android-fragments tabs android-tabhost