小弟目前学习安卓开发,其中遇到这样的问题,它是当当activity不在用户主观destory的情况下被系统destory时调用的(说的有点绕口,大家都理解,嘿嘿),所以我在自己的手机上测试了一下,其中这段代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt=(EditText)findViewById(R.id.edt);
if(null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)){
txt.setText(savedInstanceState.getString(CONTENT));
} Log.i(TAG, "Activity1 create");
secondbtn=(Button)findViewById(R.id.secondbtn);
secondbtn.setOnClickListener(listener);
thirdbtn=(Button)findViewById(R.id.thirdbtn);
thirdbtn.setOnClickListener(listener);
}
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.i(TAG, "Activity1 onSaveInstanceState");
String content=txt.getText().toString();
outState.putString(CONTENT, content);
}主要是用来保存当前EditText的内容并当acivity重启时恢复状态,如果没有这段红色代码,我测试当手机横屏然后恢复竖屏按理说应该不能保留原来在EditText中输入的文字了,但是文字依然保留,请问这是为什么呢?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt=(EditText)findViewById(R.id.edt);
if(null!=savedInstanceState&&savedInstanceState.containsKey(CONTENT)){
txt.setText(savedInstanceState.getString(CONTENT));
} Log.i(TAG, "Activity1 create");
secondbtn=(Button)findViewById(R.id.secondbtn);
secondbtn.setOnClickListener(listener);
thirdbtn=(Button)findViewById(R.id.thirdbtn);
thirdbtn.setOnClickListener(listener);
}
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.i(TAG, "Activity1 onSaveInstanceState");
String content=txt.getText().toString();
outState.putString(CONTENT, content);
}主要是用来保存当前EditText的内容并当acivity重启时恢复状态,如果没有这段红色代码,我测试当手机横屏然后恢复竖屏按理说应该不能保留原来在EditText中输入的文字了,但是文字依然保留,请问这是为什么呢?
”这句啊?这样切换屏幕时应该是销毁了当前的Activity,而我又没有添加上面红色标出的代码,为什么文本框中的内容仍然在呢?