gpt4 book ai didi

java - 更改 Activity 时保持所有值不变

转载 作者:行者123 更新时间:2023-12-01 14:17:45 25 4
gpt4 key购买 nike

enter image description here

当我在当前行程选项卡下输入任何内容并切换到显示结果选项卡并返回当前行程选项卡时,所有条目恢复为默认值。如何预防?

我希望在当前行程下输入或选择的任何内容都保持不变,即使我进入显示结果标签 View 也是如此。

我正在使用一个 MainActivity,每个选项卡都有两个单独的 Activity 。

这是选项卡片段之一的内容:

package com.test.testing;


public class Trip2 extends Fragment {
EditText nameOfInf;
@Override
public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) {
final RelativeLayout mFrame2 = (RelativeLayout) inflater.inflate( R.layout.trip, container, false );

final Button btnCalc = (Button) mFrame2.findViewById(R.id.btnCalculate);

nameOfInf = (EditText) mFrame2.findViewById(R.id.etName);
final EditText tollAmount = (EditText) mFrame2.findViewById(R.id.etToll);

btnCalc.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//DO SOMETHING
}
});
return mFrame2;
}

}

我想保存以下值:

nameOfInf = (EditText) mFrame2.findViewById(R.id.etName);

因此,如果我切换到另一个选项卡,该值将被保存,并且在返回到该选项卡时,该值将保持不变。

如果可行的话,我该如何实现以下内容:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("name", nameOfInf.getText());
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
nameOfInf.setText (savedInstanceState.getString("name"));
}

最佳答案

您需要在 Activity 暂停时将状态保存在 bundle 中,并在 Activity 恢复时恢复该数据。阅读Android activity lifecycle.

这假设您正在选项卡控件中嵌入 Activity 。

关于java - 更改 Activity 时保持所有值不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17955468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com