public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.customer);
EditText PhoneNum = (EditText)findViewById(R.id.phone);
PhoneNum.setText(phoneNum());
EditText Address = (EditText)findViewById(R.id.address);
Address.setText(phoneAddress());
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
android.R.drawable.ic_dialog_alert);
/////////////////////액티비티 상태 저장///////////////////////////////
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
EditText menulist = (EditText)findViewById(R.id.menulist);
EditText price = (EditText)findViewById(R.id.price);
String text1 = pref.getString("editText1", "");
String text2 = pref.getString("editText2", "");
menulist.setText(text1);
price.setText(text2);
////////////////////상태저장/////////////////////////
Button btnSave = (Button)findViewById(R.id.save);
btnSave.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
onRestart();
Customer.this.finish();
}
});
public void onRestart(){ // 어플리케이션이 화면에서 사라질때
super.onRestart();
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE); // UI 상태를 저장합니다.
SharedPreferences.Editor editor = pref.edit(); // Editor를 불러옵니다.
EditText menulist = (EditText)findViewById(R.id.menulist);
EditText price = (EditText)findViewById(R.id.price);
editor.putString("editText1", menulist.getText().toString());
editor.putString("editText2", price.getText().toString());
editor.commit(); // 저장합니다.
}
버튼을 누르게 되면 현재 액티비티의 상태를 저장하면서 액티비티가 종료되게끔 만들었습니다.
한가지 문제가 있는데....
만약 제가 1번 액티비티에서 버튼 생성을 하게되면 버튼이 하나 생기고
그 버튼을 누르게 되면 2번 액티비티를 띄우게 됩니다. 2번 액티비티에서 상태를 저장하게 되면 저장된 후에 2번 액티비티가 저장이 되면서 1번 액티비티로 돌아오게 되는데
문제는 1번에서 두번째 버튼을 생성하고 그 버튼 또한 2번 액티비티로 연결하게 만들게 되면 처음에 저장된 2번의 액티비티가 뜨게 됩니다.
새로 생성된 버튼을 누르면 깨끗한 2번 액티비티가 나오게끔 해야하는데 그 전에 저장된 2번 액티비티가 나오는겁니다.
이떻게 해결해야 좋을까요?