問題のドメインを単純化できると思います。基本的に、ボタンをオンに設定するように設定アクティビティを設定しました。クリックしてオフにしてから設定に戻ったときに問題が発生し、まだオンになっています。ブールスイッチを作成しようとしましたが、何らかの理由で機能しません。以下にコードを掲載します。
public void Oncreate メソッドで clickable を true に設定しているため、ユーザーがトグル ボタンをクリックしてオフにしたときの問題を解決することが解決策だと思います。ユーザーが設定アクティビティに戻るたびに、値が on に設定されます。そのパラメーターをオーバーライドする条件で問題が解決すると思います。
prefs = getSharedPreferences(prefName, 0 );
SharedPreferences.Editor editor = prefs.edit();
if (twitter.isChecked() == true)
{
onoffTwitter = true;
editor.putBoolean(TWITTER_KEY, true);
onoffTwitter = true;
}
if (twitter.isChecked() == false)
{
onoffTwitter = false;
editor.putBoolean(TWITTER_KEY, false);
onoffTwitter = false;
}
Toast.makeText(getBaseContext(),
"was the twitter checked" + twitter.isChecked(),
Toast.LENGTH_SHORT).show();
editor.commit();
このコードは、ボタンを非表示にする別のアクティビティからのものです。
SharedPreferences prefs = getSharedPreferences(prefName, 0);
buttonStatus = prefs.getBoolean(TWITTER_KEY, false);
Log.e(LOGS, "What is the value for the twitter feed" + buttonStatus);
Toast.makeText(AndroidGUIActivity.this,
" What is the value for the twitter feed" + buttonStatus,
Toast.LENGTH_SHORT).show();
if (buttonStatus==false) twitter.setVisibility(View.GONE);
xml ファイルでトグルボタンの初期値を設定することで、これを修正できると思います。