【发布时间】:2013-03-30 04:01:46
【问题描述】:
我有 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);
}
});
}
}
【问题讨论】:
-
你必须为此使用 sharedprefrence
-
okayy.. 让我尝试使用 SharedPrefernce
-
谢谢!它使用 SharedPreference 工作
标签: android button android-edittext android-button