0

問題のドメインを単純化できると思います。基本的に、ボタンをオンに設定するように設定アクティビティを設定しました。クリックしてオフにしてから設定に戻ったときに問題が発生し、まだオンになっています。ブールスイッチを作成しようとしましたが、何らかの理由で機能しません。以下にコードを掲載します。

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 ファイルでトグルボタンの初期値を設定することで、これを修正できると思います。

4

1 に答える 1

0

問題は、設定値をTwitterに渡していなかったので、値を保存していなかったことです。

prefs = getSharedPreferences(prefName, 0 );
         buttonStatus = prefs.getBoolean(TWITTER_KEY, true); 
         Log.e(LOGS, "What is the value for the timer feed" + buttonStatus);


        twitter.setChecked(buttonStatus);
于 2012-08-05T12:18:12.413 に答える