0

アプリの起動時にチェックボックスをデフォルトでTrueにしようとしています。この回答をAndroidCheckBoxPreferenceのデフォルト値として使用しましたが、デフォルトでfalseに設定され、LogCatにFalseが出力されます。

私が台無しにしたアイデアはありますか?私はこれを何時間も見てきました...よろしくお願いします!

public class Preferences extends PreferenceActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.layout.preferences);

        PreferenceManager.setDefaultValues(this, R.layout.preferences, true);
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
        boolean autoStart = prefs.getBoolean("checkBox1", true);

        System.out.println(autoStart);

    }

}

XMLクラス:

  <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

 <PreferenceCategory
   android:summary="Username and password information"
   android:title="User request" >
  <CheckBoxPreference
     android:key="checkBox1"
     android:title="request details" 
     android:defaultValue="true"/>

 </PreferenceCategory>
</PreferenceScreen>
4

1 に答える 1

0

あなたの主な活動では、次のことができます。

    SharedPreferences prefs = getSharedPreferences("YOUR_PREFERENCES_KEY",false);
    boolean isSetToTrue = prefs.getBoolean("YOUR_BOOLEAN_KEY",false);

    if(isSetToTrue==false){

         //here set your checkBox to true
     }

メインアクティビティとは、アプリの起動から最初に開始するアクティビティを意味します。

于 2013-01-18T22:10:29.780 に答える