所以这是我的问题,每当我按下后退按钮时,主活动中listview中的数据都会重置。我如何保留或保存数据?这是我的后退按钮的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
content = (TextView) findViewById(R.id.pangalawa);
BackButton = (Button) findViewById(R.id.back);
Bundle bundle = getIntent().getExtras();
content.setText(bundle.getString("extra_intent1"));
BackButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("debug", "button clicked");
Intent intent = new Intent(secactivity.this, MainActivity.class);
startActivity(intent);
}
});
}
答案 0 :(得分:0)
您正在点击后退按钮创建MainActivity
的新实例,因此它再次创建布局并将列表设置为空白。
要将列表保留为上一个,您应该将onClick
方法中的代码替换为
@Override
public void onClick(View v) {
Log.d("debug", "button clicked");
finish();
}
另外,请确保从MainActivity
调用当前活动时,您没有调用finish()
方法。
它会起作用。
答案 1 :(得分:0)
保存状态:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.getString("extra_intent1", bundle.getString("extra_intent1"));
}
恢复状态:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String extra_intent1= savedInstanceState.getString("MyBoolean");
}