onSaveInstanceState not working(onSaveInstanceState 不起作用)
本文介绍了onSaveInstanceState 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道这个问题已经被问了很多,但我不明白为什么 onSaveInstanceState 对我不起作用.这可能是一些愚蠢的事情,但我希望你们中的一些人可以在这里帮助我.无论如何,这是我的代码:
I know this question has already been asked a lot, but I don't get why onSaveInstanceState isn't working for me. It's probably something stupid, but I hope some of you can help me out here.. Anyways, this is my code:
public class Main extends Activity implements OnClickListener, OnKeyListener {
EditText textitem;
Button buttonadd;
ListView listitems;
ArrayList<String> ToDo;
ArrayAdapter<String> AA;
ArrayList<String> MyArrayList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textitem = (EditText) findViewById(R.id.textitem);
buttonadd = (Button) findViewById(R.id.buttonadd);
listitems = (ListView) findViewById(R.id.listitems);
buttonadd.setOnClickListener(this);
textitem.setOnKeyListener(this);
ToDo = new ArrayList<String>();
AA = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, ToDo);
listitems.setAdapter(AA);
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putStringArrayList("MyArrayList", ToDo);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
ArrayList<String> ToDo = savedInstanceState.getStringArrayList("MyArrayList");
}
private void addItem(String item) {
if (item.length() > 0) {
this.ToDo.add(item);
this.AA.notifyDataSetChanged();
this.textitem.setText("");
}
}
public void onClick(View v) {
if (v == this.buttonadd) {
this.addItem(this.textitem.getText().toString());
}
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
this.addItem(this.textitem.getText().toString());
}
return false;
}
}
推荐答案
public class Main extends Activity implements OnClickListener, OnKeyListener {
EditText textitem;
Button buttonadd;
ListView listitems;
ArrayList<String> ToDo;
ArrayAdapter<String> AA;
ArrayList<String> MyArrayList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textitem = (EditText) findViewById(R.id.textitem);
buttonadd = (Button) findViewById(R.id.buttonadd);
listitems = (ListView) findViewById(R.id.listitems);
buttonadd.setOnClickListener(this);
textitem.setOnKeyListener(this);
if(savedInstanceState!=null)
{
ToDo = savedInstanceState.getStringArrayList("MyArrayList");
}
else
{
ToDo = new ArrayList<String>();
}
AA = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, ToDo);
listitems.setAdapter(AA);
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putStringArrayList("MyArrayList", ToDo);
super.onSaveInstanceState(savedInstanceState);
}
private void addItem(String item) {
if (item.length() > 0) {
this.ToDo.add(item);
this.AA.notifyDataSetChanged();
this.textitem.setText("");
}
}
public void onClick(View v) {
if (v == this.buttonadd) {
this.addItem(this.textitem.getText().toString());
}
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
this.addItem(this.textitem.getText().toString());
}
return false;
}
希望这会对您有所帮助.维普尔
Hope this will help you. Vipul
这篇关于onSaveInstanceState 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:onSaveInstanceState 不起作用
基础教程推荐
猜你喜欢
- iOS4 创建后台定时器 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
