我有 2 个活动。首先Activity
有EditText
和Next Button
。第二个Activity
有一个Back Button
。首先Activity
,我输入了一些文本,EditText
然后点击Next Button
. 现在我在SecondActivity
,如果我按下Back Button
它将返回First Activity
清除EditText
字段。我希望该EditText
领域保持不变。如何实现这些步骤?
第一活动:
public class HomeActivity extends Activity {
EditText text;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
text = (EditText) findViewById(R.id.editText1);
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(HomeActivity.this,Second.class);
startActivity(i);
}
});
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
CharSequence sequence = text.getText();
outState.putCharSequence("savedText", sequence);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
CharSequence sequence = savedInstanceState.getCharSequence("savedText");
text.setText(sequence);
}
}
第二活动:
public class Second extends Activity {
Button b;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
b = (Button) findViewById(R.id.button_back);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(Second.this, HomeActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
});
}
}