Autore Topic: Passare valore toggle in altra activity  (Letto 311 volte)

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Passare valore toggle in altra activity
« il: 23 Agosto 2013, 17:20:19 CEST »
0
Hola, mi spiego meglio; Ho un toggle nel MainActivity che mi fa una certa azione. Il valore del toggle lo salvo nelle preferences cosi quando riapro l'app trovo lo stato del toggle corretto. Ho poi un widget.. In questo widget vorrei che risultasse il valore del toggle.. Questo è il codice del salvataggio nelle preferences della MainActivity del valore

Codice (Java): [Seleziona]
public SharedPreferences preferences;
---
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
preferences = getPreferences(MODE_PRIVATE);
boolean tgpref = preferences.getBoolean("tgpref", false);  //default is false
if (tgpref == true) {
 togglebutton.setChecked(true);
}
else
{
togglebutton.setChecked(false);
}

--
--
}
//gestione del toggle e salvataggio dello stato
--
SharedPreferences.Editor editor = preferences.edit();
           editor.putBoolean("tgpref", true); //value to save
           editor.commit();"

Nel widget nell'onUpdate ho scritto questo

Codice (Java): [Seleziona]
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
        boolean tgpref = preferences.getBoolean("tgpref", false)
        if (tgpref == true) {
        remoteViews.setTextViewText(R.id.battery, "Risp on");
      } else {
        remoteViews.setTextViewText(R.id.battery, "Risp off");
      }

Il problema è che non succede nulla. O meglio, rimane solo e sempre "Risp off" quindi nemmeno controlla lo stato del toggle in realtà secondo me. C'è un modo per caricare il valore dalla MainActivity a quella del Widget? Thankssss