我的應用程序有兩個選項卡並在選項卡之間切換,使我失去了輸入的所有內容當前旅程所以我修改了我的代碼以保存狀態。保存實例以避免在選項卡之間丟失數據切換
package com.test.testing;
public class Trip2 extends Fragment {
EditText nameOfInf;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if ((savedInstanceState != null) && (savedInstanceState.getString("nameof") != null)) {
Toast.makeText(getActivity(), savedInstanceState.getString("nameof"),2000).show();
}
else {
Toast.makeText(getActivity(), "DIDNT SAVE",2000).show();
}
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;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("nameof", nameOfInf.toString());
}
}
它始終顯示
沒救
如何解決這個問題?
你試過[setRetainInstance()](http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance(boolean))?這樣你就不需要管理狀態保存和恢復。 –
很多很好的信息在這裏http://stackoverflow.com/q/151777/1316346 –