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ème variable "Identifier expected"


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut Problème variable "Identifier expected"
    Bonjour, mon problème est plutôt simple mais je ne trouve pourtant pas de solutions j'essaye de faire un setTheme comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTheme(R.style.redTheme);
    redTheme redirigeant à un style dans mon style.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <style name="redTheme" parent="Theme.AppCompat.Light">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">#f44336</item>
            <item name="colorPrimaryDark">#ba000d</item>
        </style>
    ça fonctionne parfaitement, mais dès que je veux faire en sorte que ce soit une variable à la place de "redTheme" je n'y arrive pas.
    J'ai essayé quelque chose comme ça mais rien à faire ça passe toujours pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private String themeColor = ParameterActivity.themeColor;
    setTheme(R.style.+themeColor);
    Ici j'obtiens une erreur Identifier expected et j'arrive pas à m'en débarrasser.
    Merci pour l'aide que vous m'apporterez

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    C'est parce que syntaxiquement setTheme(R.style.+themeColor); n'a aucun sens en java. Avec +, on additionne des nombres (5+5=, on concatène des String (des valeurs), on peut additionner certaines variables de type primitifs entre elles, mais sinon + ça entre d'autres choses ça n'a aucun sens, même s'il peut y avoir une correspondance entre ces autres choses et des String dans un autre contexte (comme ton xml, ou ta classe ParameterActivity). De plus R.style. n'a strictement aucun sens non plus. Le . doit être suivi d'un nom d'attribut ou d'un nom de méthode, et c'est ce que le complateur te dit : "il manque un identifiant après le .", un identifiant de méthode ou d'attribut. Pour le reste (comment faire pour faire ce que tu veux faire) je vais laisser un spécialiste Android te guider, parce que ça m'a l'air de l'Android et pas du Java standard (même si on pourrait, en Java Standard, utiliser peut-être la réflexion pour faire ce que tu veux).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int styleId = getResources().getIdentifier("redTheme", "style", getPackageName());
    setTheme(styleId);
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de Wshshell.run avec quotes & variable
    Par frenchlion dans le forum VBScript
    Réponses: 8
    Dernier message: 29/11/2011, 17h35
  2. onmouseover=&quot;Menu_HoverStatic(this)&quot; object expected
    Par cyrano_de_bergerac dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/10/2010, 16h01
  3. Réponses: 16
    Dernier message: 28/06/2007, 17h10
  4. [SQL Serveur 2000] - Problème QUOTED-IDENTIFIER
    Par Silvia12 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2007, 14h17

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