IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problèmes avec mes Préférences


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Par défaut Problèmes avec mes Préférences
    Bonsoir à tous,
    Depuis peu j'ai un soucis avec mes préférences.

    Je m'explique :
    Avant mon soucis, lorsque je quittais mon application puis revenais dessus, le fond d'écran enregistré dans les préférences s'affichais.

    Maintenant il faut que je retourne dans mes préférences à chaque fois après avoir quitté mon application pour changer le fond d'écran !
    Sur l'émulateur cela fonctionne nickel , je n'y comprends plus rien...

    Si quelqu'un a eu le même soucis ou bien peu m'aider...

    Merci !

  2. #2
    Membre émérite
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Billets dans le blog
    15
    Par défaut Des précisions ?
    Bonjour,

    peut-être que, pour avoir approché la programmation des préférences et le cycle de vie d'une activité, il manque des informations aux lecteurs de votre post ?

    Les préférences, les préférences : déjà comment est géré le fond d'écran (sans forcément donner beaucoup de code) ? Est-ce que les préférences peuvent avoir une incidence directe dessus (pour peu que l'utilisateur ait choisi de le modifier) ? Etc.

    Mais bon, c'est l'avis d'un autre débutant ... sait-on jamais

    (PS : je me suis abonné à votre message d'ailleurs, car la réponse m’intéresse un peu)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Par défaut
    Bonjour et merci de vôtre réponse.

    En ce qui concerne le code, cela ne me dérange pas de vous en faire part :

    Mes Préférences java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    public class PreferencesAffichages extends PreferenceActivity implements OnSharedPreferenceChangeListener {
     
    protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                final Window win = getWindow();
     
                win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);            
                setTitle("  Paramètres d'Affichage");
                setTitleColor(Color.CYAN);
     
                getListView().setBackgroundColor(Color.TRANSPARENT);
                getListView().setCacheColorHint(Color.TRANSPARENT);
                getListView().setBackgroundResource(R.drawable.bg_affichage);
     
     
     
     
                addPreferencesFromResource(R.xml.affichagepreferences);
                PreferenceManager.setDefaultValues(PreferencesAffichages.this, R.xml.affichagepreferences, false);
     
                for(int i=0;i<getPreferenceScreen().getPreferenceCount();i++){
                 initSummary(getPreferenceScreen().getPreference(i));
                }
    }
     
    protected void onResume(){
                super.onResume();
                // Set up a listener whenever a key changes             
                getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
     
     
               }
     
    protected void onPause() { 
                super.onPause();
                // Unregister the listener whenever a key changes             
                getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);     
            } 
     
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
                updatePrefSummary(findPreference(key));
            }
     
    private void initSummary(Preference p){
               if (p instanceof PreferenceCategory){
                    PreferenceCategory pCat = (PreferenceCategory)p;
                    for(int i=0;i<pCat.getPreferenceCount();i++){
                        initSummary(pCat.getPreference(i));
                    }
                }else{
                    updatePrefSummary(p);
                }
     
            }
     
    private void updatePrefSummary(Preference p){
     
                if (p instanceof ListPreference) {
                	ListPreference listPref = (ListPreference)p;
                    p.setSummary(listPref.getEntry());
                }	
     
            }}
    une fonction getPrefs(); dans mon onStart

    Et voici le code de ma fonction getPrefs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    private void getPrefs() {
     
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
            backgrounds = prefs.getString("backgrounds", "1");        
            if (backgrounds.equals("2"))
            {
            	getWindow().setBackgroundDrawableResource(R.drawable.bg_android);
            }
            else if (backgrounds.equals("3"))
            {
            	getWindow().setBackgroundDrawableResource(R.drawable.bg_smoke);
            }
            else if (backgrounds.equals("4"))
            {
            	getWindow().setBackgroundDrawableResource(R.drawable.bg_smoke1);
            }
            else if (backgrounds.equals("5"))
            {
            	getWindow().setBackgroundDrawableResource(R.drawable.bg_wave);
            }        
            else
            {
            	getWindow().setBackgroundDrawableResource(R.drawable.bg_defaut);
            }
    {
    Voilà si cela peut vous en dire plus..

Discussions similaires

  1. [FreeBSD] Problème avec mes disques durs
    Par gorgonite dans le forum BSD
    Réponses: 24
    Dernier message: 29/06/2006, 17h03
  2. problème avec mes constantes
    Par salseropom dans le forum C
    Réponses: 6
    Dernier message: 10/05/2006, 17h37
  3. [JDBC]problème avec mes id
    Par Hydre dans le forum JDBC
    Réponses: 12
    Dernier message: 29/09/2005, 13h19
  4. [std::list][find_if] problème avec mes foncteurs
    Par n!co dans le forum SL & STL
    Réponses: 12
    Dernier message: 04/02/2005, 11h56
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo