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 :

Thread qui plante.


Sujet :

Android

  1. #1
    Membre confirmé Avatar de ABandApart
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 90
    Par défaut Thread qui plante.
    Bonsoir,
    Je me mets au développement Android, et je rencontre un problème relatif a un thread dans un événement onClick.

    Quand je clique sur le bouton le thread s’exécute et ensuite l'application plante avec un message du genre : L'application Tests (processus com.tests.android) à été arrêté de manière inattendue. Réessayez.

    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
    public class MaClasse extends Activity
    implements OnClickListener {
    	/** Called when the activity is first created. */
    	private Button btn;
    	private TextView view;
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		btn = (Button)findViewById(R.id.btn);
    		view = (TextView)findViewById(R.id.view);
    		btn.setOnClickListener(this);
    	}
     
    	public void onClick(View v) {
    		new Thread(new Runnable() {
    			public void run() {
    				view.setText("Cliqué");
    			}
    		}).start();
    	}
    }
    - Si je mets le thread en dehors de l’événement onClick pas de problème.
    - Pas de problème non plus quand j'enlève carrément le thread

    Donc il semblerait que ce soit la combinaison des deux.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    salut,

    J'ai pas vraiment le temps de te rédiger une belle réponse mais voilà quelques choses qui devrait te mettre sur la piste :
    http://davy-leggieri.developpez.com/...oid/ui-thread/

  3. #3
    Membre confirmé Avatar de ABandApart
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 90
    Par défaut
    Citation Envoyé par MrDuChnok Voir le message
    salut,

    J'ai pas vraiment le temps de te rédiger une belle réponse mais voilà quelques choses qui devrait te mettre sur la piste :
    http://davy-leggieri.developpez.com/...oid/ui-thread/
    Merci.
    Je crois avoir compris:
    En fait j'exécutais une tache de la "responsabilité" de l'UI thread en dehors de celui-ci et apparemment ça ne plait pas a Android.

    Corrigez moi si je me trompe.

    Voila a quoi ressemble mon nouveau thread:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    new Thread(new Runnable() {
    			public void run() {
    				runOnUiThread(new Runnable() {
    					public void run() {
    						view.setText("Cliqué");
    					}
    				});
    			}
    		}).start();

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

Discussions similaires

  1. Thread et application qui plante
    Par Balbuzard dans le forum Général Java
    Réponses: 10
    Dernier message: 29/08/2008, 16h36
  2. Programme qui plante
    Par harris_macken dans le forum C++
    Réponses: 1
    Dernier message: 22/05/2005, 23h50
  3. Pc qui plante
    Par tooms2028 dans le forum Ordinateurs
    Réponses: 9
    Dernier message: 19/03/2005, 17h32
  4. [JTextArea] redessin qui plante
    Par phil_ma dans le forum Composants
    Réponses: 3
    Dernier message: 04/01/2005, 05h19
  5. [Thread] comment arreter un thread qui execute une methode b
    Par Cyber@l dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 04/08/2004, 10h51

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