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 :

setContentView sans xml ?


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut setContentView sans xml ?
    Bonsoir tout le monde, j'ai un petit problème avec mon application Android,

    voila j'ai une classe Main qui contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    protected void onCreate(Bundle savedInstanceState) 
    	{
    		super.onCreate(savedInstanceState);		
    		Bundle b = getIntent().getExtras();
    		boolean mode = b.getBoolean("mode");
    		boolean eclosion = b.getBoolean("eclosion");
    		int difficulte = b.getInt("difficulte");
     
    		setContentView(new Plateau(this,mode,eclosion,difficulte));
    	}
    et qui charge une vue personnalisée, qui dessine un Plateau (extends View) qui va très bien.

    Cependant, j'ai un Thread IA dans Plateau et selon la difficulté, celui-ci peut-être plus long et j'aurai aimé rajouter une progressBar circulaire dans celui-ci,

    j'ai donc ceci :

    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
    public class Swingworker extends AsyncTask<Void, Void, Void> {
     
    		protected void onPreExecute(){
    			bar = (ProgressBar)findViewById(R.id.progressBar1);
    	        bar.setVisibility(View.VISIBLE);
    	    }
     
    		@Override
    		protected Void doInBackground(Void... arg0) {
    			try {
    				// changer d'IA
    				conf = IA.meilleurConf(conf, (byte) difficulte);
     
    			} catch (CaseNonLibreException e) {
    				e.printStackTrace();
    			}
    			affPossibleMove();
    			postInvalidate();
    			threadD = false;
    			return null;
    		}
     
    		protected void onPostExecute(Void unused) {
    			bar.setVisibility(View.GONE);
    			verifWin();
    		}
     
    	}
    Mais, bien sur, j'ai un nullPointerException, car mon progressBar n'est associé à aucune vue !

    Mais comme je n'ai pas de layout.xml, comment je m'y prends ?

    Merci

  2. #2
    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
    Dans ton cas, tu dois simplement créer ta barre avec son constructeur : new ProgressBar(Context context)
    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

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Hello, merci pour ta réponse

    ça marche super bien pour un ProgressDialog, mais pas pour une ProgressBar, ai-je oublié un paramètre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bar = new ProgressBar(context, null, android.R.attr.progressBarStyleSmall);
    			bar.setVisibility(View.VISIBLE);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bar.setVisibility(View.GONE);
    La bar ne s'affiche pas.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Bonsoir, quelqu'un a une petite idée ?

  5. #5
    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
    Déjà pourquoi tu mets bar.setVisibility(View.GONE); si tu veux afficher ta barre ?
    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

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Bonjour

    le GONE est mis dans le onPostExecute(), c'est pas bon ?

  7. #7
    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
    Citation Envoyé par Max25190 Voir le message
    Bonjour

    le GONE est mis dans le onPostExecute(), c'est pas bon ?
    Ah si, à cet endroit ok. Mais c'est plutot dismiss() qu'il faudrait invoquer.
    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

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Le dismiss() n'existe pas pour une ProgressBar

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Comment se fait-il que un progressDialog marche et pas un progressBar ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    progressDialog bar = new progressDialog(context);
    bar.show();
    ....
    bar.hide();
    et pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    progressBar bar = new ProgressBar(context);
    bar.setVisivility(View.VISIBLE);
    ....
    bar.setVisivility(View.GONE);

  10. #10
    Membre émérite
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Par défaut
    ProgressDialog etend de AlertDialog (qui lui même étend de Dialog).
    ProgressBar etend de View.

    Ce sont des objets qui non aucun rapport entre eux.
    C'est tout à fait normal que cela ne fonctionne pas pour les 2 car elle hérite pas des même méthodes.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 24
    Par défaut
    Oui oui sa je comprends bien, il faut que je fasse quoi alors ?

    comment sa se fait qu'elle ne s'affiche pas et que je n'ai aucune erreur ?

    Il faut l'ajouter à la vue ?

  12. #12
    Membre émérite
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Par défaut
    Tu crée une progessBar que tu ajoute nulle part, donc elle risque pas de s'afficher.
    Il faut que tu l'ajoutes soit a ton contenaire, soit a un Dialog custom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.addView(monProgressBar);
    ou
    Custom dialog

Discussions similaires

  1. [Framework] Spring 3.1 : configuration sans XML
    Par miles_ dans le forum Spring
    Réponses: 0
    Dernier message: 13/03/2012, 10h25
  2. Redirections de pages sans XML
    Par algelos dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 30/06/2011, 10h30
  3. Onglet sans Xml
    Par Ntotor dans le forum Android
    Réponses: 1
    Dernier message: 17/05/2011, 17h37
  4. Récupérer variable(prix de vente) d'un site partenaire sans XML?
    Par Funkystyle62 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 01/12/2009, 14h53

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