Autore Topic: Aggiornare elementi del main activity al cambiamento di una listpreference  (Letto 576 volte)

Offline callasdurru

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Kubuntu 10.10
Ciao a tutti,
ho creato delle preferences nelle quali ho una listpreference, quello che dovrei realizzare è al cambiamento della selezione all'interno della listpreference fare si che nel main activity venga effettuata una chiamata http per poi andare a compilare delle textview.
ora il mio unico problema è trovare una sorta di listener per la preference all'interno del main activity. ho cercato tanto in rete e provato una sacco di soluzioni diverse ma niente che funzionasse (OnPreferenceChangeListener ecc..).
Qualche idea? grazie in anticipo

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline callasdurru

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Kubuntu 10.10
Re:Aggiornare elementi del main activity al cambiamento di una listpreference
« Risposta #2 il: 06 Novembre 2011, 17:08:34 CET »
0
ciao, prima di tutto grazie per l'aiuto..
avevo già provato il metodo li indicato e cioè
Codice (Java): [Seleziona]
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
       
OnSharedPreferenceChangeListener myPrefListner = new OnSharedPreferenceChangeListener(){
                                public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
                                        // your stuff
                                }
                        };     
                prefs.registerOnSharedPreferenceChangeListener(myPrefListner); 
così facendo sembra che ascolti il listener solo la prima volta infatti se imposto un valore nelle preference lo legge ma solo la prima volta...
continuando a leggere il post ho aggiunto anche questo
Codice (Java): [Seleziona]
    @Override    
    protected void onResume() {
        super.onResume();          
        PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(myPrefListner);    
    }



    @Override    
    protected void onPause() {        
        super.onPause();          
        PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(myPrefListner);

    }
tuttavia aggiungendo questo pezzo non legge più niente, neanche la prima volta =)