ユーザーがログインして「ログイン状態を維持する」のチェックボックスにチェックを入れると、アクティビティは多くの EditText を持つ別のアクティビティに進みます。ただし、ユーザーが誤ってデバイスを閉じたりシャットダウンしたりした場合、ユーザーが「ログイン状態を維持する」にチェックを入れているため、そのアプリケーションに戻ったときにデータが取得されます。onSaveInstanceState と onRestoreInstanceState を使用しましたが、役に立ちません。これで私を助けてください。
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
final EditText txt_Fname = (EditText) findViewById(R.id.txt_Fname);
final EditText txt_Mname = (EditText) findViewById(R.id.txt_Mname);
final EditText txt_Lname = (EditText) findViewById(R.id.txt_Lname);
final EditText txt_Suffix = (EditText) findViewById(R.id.txt_Suffix);
String Fname = txt_Fname.getText().toString();
String Mname = txt_Mname.getText().toString();
String Lname = txt_Lname.getText().toString();
String Suffix = txt_Suffix.getText().toString();
outState.putString("shared_fname", Fname);
outState.putString("shared_mname", Mname);
outState.putString("shared_lname", Lname);
outState.putString("shared_suffix", Suffix);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
final EditText txt_Fname = (EditText) findViewById(R.id.txt_Fname);
final EditText txt_Mname = (EditText) findViewById(R.id.txt_Mname);
final EditText txt_Lname = (EditText) findViewById(R.id.txt_Lname);
final EditText txt_Suffix = (EditText) findViewById(R.id.txt_Suffix);
txt_Fname.setText(savedInstanceState.getString("shared_fname"));
txt_Mname.setText(savedInstanceState.getString("shared_mname"));
txt_Lname.setText(savedInstanceState.getString("shared_lname"));
txt_Suffix.setText(savedInstanceState.getString("shared_suffix"));
}