public class MainActivity extends Activity {
public static final String EXTRA_MESSAGE = “com.example.demotwotwo”;
public static final String editTextString = “MainActivity_editTextString”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState!=null)
((EditText)findViewById(R.id.editText)).setText(savedInstanceState.getString(editTextString));
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(editTextString, ((EditText)findViewById(R.id.editText)).getText().toString());
}
}
为什么在onSaveInstanceState()方法里面本人保存了EditText里面输入的信息,但是在回到这个Activity里面时又没法还原刚才输入的信息了?
public static final String EXTRA_MESSAGE = “com.example.demotwotwo”;
public static final String editTextString = “MainActivity_editTextString”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState!=null)
((EditText)findViewById(R.id.editText)).setText(savedInstanceState.getString(editTextString));
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(editTextString, ((EditText)findViewById(R.id.editText)).getText().toString());
}
}
为什么在onSaveInstanceState()方法里面本人保存了EditText里面输入的信息,但是在回到这个Activity里面时又没法还原刚才输入的信息了?
解决方案
5
你重写onSaveInstanceState()方法时,将outState.putString(editTextString, ((EditText)findViewById(R.id.editText)).getText().toString());放到super.onSaveInstanceState(outState)前面。
5
错了错了,是你的类型错了吧,不是EditText吧,改成String试试。
20
savedInstanceState 数据的保存只适用于 activity恢复时候。
对于新建的activity,savedInstanceState =null;
返回再进入该act就是新建。
你的需求可以用sharePreferences 解决。
onPause/onDestory时保存, onCreate时候读取。
对于新建的activity,savedInstanceState =null;
返回再进入该act就是新建。
你的需求可以用sharePreferences 解决。
onPause/onDestory时保存, onCreate时候读取。
5
不会释放掉的,除非你调用了finish.
5
对啊,本人本人也写了个例子,可以的保存的啊。你本人调用finish了吧