あなたがしなければならないことは、KeyCode Back を使用する代わりに、Activity で以下のメソッドをオーバーライドすることです。
@Override
public void onBackPressed() {
super.onBackPressed();
そして、SharedPrefrence を使用してボタンの状態を保存し、次にアクティビティに入るときは、Sharedpreference から値を取得し、それに応じてボタンの有効状態を設定します。
例、
private void SavePreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("state", button.isEnabled());
}
private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
Boolean state = sharedPreferences.getBoolean("state", false);
button.setEnabled(state);
}
@Override
public void onBackPressed() {
SavePreferences();
super.onBackPressed();
}
onCreate(Bundle savedInstanceState)
{
//just a rough sketch of where you should load the data
LoadPreferences();
}