Salva il valore dalla preferenza personalizzata

Ho creato una nuova preferenza che si estende direttamente da CheckboxPreference . In questa class ho aggiunto un semplice valore boolean nuovo. La mia domanda è ora come devo memorizzare questo nuovo valore. Se un utente fa clic su un normale CheckboxPreference il valore viene memorizzato automaticamente nelle preferenze. Voglio che questo accada anche con il mio nuovo valore. Per questo penso che devo sovrascrivere un metodo, ma non so quale di loro. Inoltre ho due valori boolean (controllati e miei) quindi devo build una logica o qualcosa del genere con numbers interi perché ci sono quattro diverse possibilità con due booleani. Quindi, come posso memorizzare efficacemente i miei due valori e quale metodo devo sovrascrivere per questo?

  • Android - Applicazione (apk) Dimensione massima
  • Qual è la differenza principale tra frammento e attività? Quale codice può essere scritto in frammento?
  • andengine sprite muove PathModifier e corpo
  • Violazione violazione di contratto di attività di StrictMode (2 istanze, 1 attese) sulla rotazione di attività completamente vuota
  • Sviluppo Android: Migliora Scrolling di EditText?
  • Studio di Android: problemi di rendering Stili mancanti - tema corretto per questo layout, imansible trovare lo stile con id
  • Le opzioni SDK non sono disponibili per Kindle Fire in Eclipse?
  • exception durante l'utilizzo di annotazioni di jackson e ormlite in un unico object
  • Android Studio: Imansible get il risultato della 'versione adb'
  • ClassNotFoundException: Non hai trovato la class "android.support.design.R $ styleable"
  • Notifica Big Text Android GCM
  • JSONObject.toString: come NON evita le battute
  • One Solution collect form web for “Salva il valore dalla preferenza personalizzata”

    È necessario utilizzare SharedPreference , che memorizza valore e coppie di chiavi. Ad esempio, la chiave è "colorPreference" e il valore è "verde". Non viene eliminato anche se chiudi app.

    // Impostazione della preferenza condivisa

     public static SharedPreferences sharedPreferencesFDefault; sharedPreferencesFDefault = PreferenceManager.getDefaultSharedPreferences(this); 

    // Aggiunta di qualcosa che vuoi

     SharedPreferences.Editor editor = sharedPreferencesFDefault.edit(); editor.putInt("studentNameColor", 2); // studentNameColor=2 for example editor.commit(); 

    // Ottenere il valore che hai memorizzato

     int color = sharedPreferencesFDefault.getInt("studentNameColor", -1); // gets 2, if this key is not found, returns -1 

    // Eliminazione key-value coppia di key-value se non è più necessario

     SharedPreferences.Editor editor = sharedPreferencesFDefault.edit(); editor.remove("studentNameColor"); editor.commit(); 

    // Elimina each coppia di key-value all'interno di defaultSharedPreference

     sharedPreferencesFDefault.edit().clear().commit(); 

    È inoltre ansible utilizzare apply() invece di commit() che esegue operazioni in modo asincrono in background.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.