ボタンが押された状態でタブホスト内の共有設定が機能しない。
押された状態でボタンの背景を変更しています。しかし、電話を再起動(オフとオン)すると、共有設定で状態が保存されません。
ここから参照
タブホスト内のボタンが押された状態の共有設定が再起動時に機能しない
デバッグ時に、isclickはif-else条件でtrueとして表示されます。私はその問題を理解していません。
初めて実行すると、背景が強調表示されたボタンが表示され、再起動しても同じ強調表示された背景が表示されます。
どんな助けでも常にありがたいです。
private boolean isclick ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
seatdirnbtn = (Button) findViewById(R.id.seatdirnbtn);
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE);
isclick = prefs.getBoolean("prefName", false);
System.out.println("bool? " + isclick);
if (isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4hlt);
} else if (!isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4);
}
}
@Override
public void onRestart() {
super.onRestart();
if (isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4);
} else if (!isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4hlt);
}
}
@Override
public void onStop() {
super.onStop();
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE);
editor = prefs.edit();
editor.putBoolean("prefName", true);
editor.commit();
}
private View.OnClickListener listner1 = new View.OnClickListener() {
public void onClick(View v) {
if (isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4hlt);
editor = prefs.edit();
editor.clear();
editor.putBoolean("prefName", true);
editor.commit();
} else if (!isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4);
editor = prefs.edit();
editor.clear();
editor.putBoolean("prefName", false);
editor.commit();
}
isclick = !isclick;
}
};
編集1:
private boolean isclick ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE);
isclick = prefs.getBoolean("prefName", true);
System.out.println("bool? " + isclick);
Log.i(TAG, " prefname");
if (isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4hlt);
} else if (!isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4);
}
public void onPause() {
super.onPause();
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE);
// boolean isclick = false;
editor = prefs.edit();
// editor.clear();
editor.putBoolean("prefName", false);
Log.i(TAG, " prefname");
editor.commit();
}
@Override
public void onRestart() {
super.onRestart();
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE);
isclick = prefs.getBoolean("prefName", !isclick);
}
@Override
public void onStop() {
super.onStop();
getApplicationContext().unbindService(this);
prefs = this.getSharedPreferences(prefName, MODE_PRIVATE); // boolean
isclick = false; editor = prefs.edit(); // editor.clear();
editor.putBoolean("prefName", !isclick);
editor.commit();
}
private View.OnClickListener listner1 = new View.OnClickListener() {
public void onClick(View v) {
if (isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4hlt);
editor = prefs.edit();
editor.clear();
editor.putBoolean("prefName", false);
editor.commit();
isclick = false;
} else if (!isclick) {
seatdirnbtn.setBackgroundResource(R.drawable.icon4);
editor = prefs.edit();
editor.clear();
editor.putBoolean("prefName", true);
editor.commit();
isclick = true;
}
}
};