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 avec une exception logcat


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut Problème avec une exception logcat
    Bonjour,

    J'ai un problème avec une exception que voici :
    05-07 00:46:18.397: ERROR/AndroidRuntime(7862): Uncaught handler: thread main exiting due to uncaught exception
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.formation.bd/com.formation.bd.main1}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread.access$1800(ActivityThread.java:112)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.os.Handler.dispatchMessage(Handler.java:99)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.os.Looper.loop(Looper.java:123)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread.main(ActivityThread.java:3948)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at java.lang.reflect.Method.invokeNative(Native Method)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at java.lang.reflect.Method.invoke(Method.java:521)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at dalvik.system.NativeStart.main(Native Method)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ListActivity.onContentChanged(ListActivity.java:236)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:312)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.Activity.setContentView(Activity.java:1626)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at com.formation.bd.main1.onCreate(main1.java:20)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
    05-07 00:46:18.417: ERROR/AndroidRuntime(7862): ... 11 more
    Quelqu'un saurait-il m'expliquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2011
    Messages : 64
    Points : 52
    Points
    52
    Par défaut
    Pour android.R.id.list elle doit être déclarée comme étant une liste ( je pense qu'au niveau du handler de la liste t'as fait une erreur) tu dois avoir ça normalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListView lv;
    lv = (ListView) this.findById(android.R.id.list);
    va dans ta classe main1 à ligne 20 et vérifie ceci

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    même problème.. autre solution si possible
    main1:
    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
    65
    66
    67
    68
    package com.formation.bd;
     
    import android.app.ListActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
     
    public class main1 extends ListActivity implements OnClickListener{
     
            DBAdapter db;
            EditText edit1,edit2,edit3,edit4,edit5,edit6,edit7;
            Button button1,button2;
            ListView maliste;
     
         public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
               setContentView(R.layout.main1);
     
                maliste=((ListView)this.findViewById(android.R.id.list));
     
                edit1= ((EditText)this.findViewById(R.id.editText1));
                edit2= ((EditText)this.findViewById(R.id.editText2));
                edit3= ((EditText)this.findViewById(R.id.editText3));
                edit4= ((EditText)this.findViewById(R.id.editText4));
                edit5= ((EditText)this.findViewById(R.id.editText5));
                edit6= ((EditText)this.findViewById(R.id.editText6));
                edit7= ((EditText)this.findViewById(R.id.editText7));
     
     
                button1= ((Button)this.findViewById(R.id.button1));
                button1.setOnClickListener(this);
     
                button2= ((Button)this.findViewById(R.id.button2));
                button2.setOnClickListener(this);
     
                db = new DBAdapter(this);
                db.open();
         }
     
         protected void onDestroy() {
             db.close();
             super.onDestroy();
         }
     
        public void onClick(View v) {
            if(v==button1){
                db.insererUnCorrespondant(edit1.getText().toString(), edit2.getText().toString(), edit3.getText().toString(), 
                edit4.getText().toString(), edit5.getText().toString(), edit6.getText().toString(), edit7.getText().toString());
                Intent i = new Intent (getApplicationContext(), main2.class);
                startActivity(i);
            }
            if(v==button2){
                edit1.setText("");
                edit2.setText("");
                edit3.setText("");
                edit4.setText("");
                edit5.setText("");
                edit6.setText("");
                edit7.setText("");
     
            }
     
        }
    }
    main2:
    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
    package com.formation.bd;
     
    import android.app.ListActivity;
    import android.database.Cursor;
    import android.os.Bundle;
    import android.widget.ListView;
    import android.widget.SimpleCursorAdapter;
     
    public class main2 extends ListActivity{
     
    DBAdapter db;
     
        ListView lv;
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.liste);
     
            lv=(ListView)this.findViewById( R.id.listView1);
     
            db = new DBAdapter(this);
            db.open();
            DataBind();
        }
     
        protected void onDestroy() {
            db.close();
            super.onDestroy();
        }
     
        public void DataBind(){
            Cursor c = db.recupererLaListeDesCorrespondant();
            startManagingCursor(c);
            SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            R.layout.liste_item1,c,new String[]{"nom","prenom","adreesse","gouvernerat","mail","telephone","fonction"},
            new int[]{R.id.nom,R.id.prenom,R.id.adresse,R.id.gouvernerat,R.id.mail,R.id.telephone,R.id.fonction});
            setListAdapter(adapter);
        }
    }

  4. #4
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2011
    Messages : 64
    Points : 52
    Points
    52
    Par défaut
    est ce que t'as déclaré l'activité main2 dans le manifest.xml ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    oui je le déclarer
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.formation.bd"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-sdk android:minSdkVersion="3" />
     
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".main1"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    		<activity android:name=".main2"
                      android:label="liste">
     
            </activity>
        </application>
    </manifest>

  6. #6
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2011
    Messages : 64
    Points : 52
    Points
    52
    Par défaut
    j'ai compris l'erreur maintenant .J'ai deja utilisé ce bout de code pour faure une application CRUD pour les bases de données.
    Je vois l'utilité de main 2
    une fois tu cliques sur le bouuton le résultat sera affiché dans la liste view du main 1 selon le code que t'as mis
    donc essaye de placer la méthode Databind dan le main 1 et supprime le main2 change ceci :
    startActivity(i);
    par ça :
    startActivity(i,1000);

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    mon ami je veut afficher les cordonnées dans main 2.
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar BD.rar (36,0 Ko, 53 affichages)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    Bonjour,
    Il manque les @override

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par AndroChristophe Voir le message
    Bonjour,
    Il manque les @override
    expliquez svp..

  10. #10
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Dans ton XML tu doit avoir dans t'as listview cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:id="@id/android:list"
    ton main2 peut éventuellement marcher si ton Activity était une Activity au lieu d'une listActivity

    Post ton code de l'xml R.layout.main1 ainsi que le logCat (pour l'erreur) ici et on pourra t'aider

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    http://developer.android.com/referen.../Override.html
    Après cela ne vient peut être pas de là. J'ai jamais fait le test de lancer une application sans les Override sur les fonctions onCreate, onDestroy.


    Montres nous ton XML, il dit que ton id ne pointe pas sur un ListView

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par JediMaster Voir le message
    Dans ton XML tu doit avoir dans t'as listview cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:id="@id/android:list"
    ton main2 peut éventuellement marcher si ton Activity était une Activity au lieu d'une listActivity

    Post ton code de l'xml R.layout.main1 ainsi que le logCat (pour l'erreur) ici et on pourra t'aider
    voila mon projet SVP vérifier le code
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar BD.rar (36,0 Ko, 55 affichages)

  13. #13
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Ton ListActivity Main n'est pas une listactivity puisqu'elle contient pas de list (en tout cas dans le xml)
    -> tu la passe en Activity et ça tourne

    Je peux pas tester la suite j'ai pas la BD donc la requete ne fonctionne pas chez moi

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

Discussions similaires

  1. [Hibernate / Tomcat] Problème avec une exception
    Par ahlam1 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 28/07/2011, 14h03
  2. problème avec une exception
    Par isoman dans le forum C++
    Réponses: 4
    Dernier message: 09/03/2008, 20h20
  3. Problème avec une erreur d'exception inconnue
    Par yoyo72 dans le forum Delphi
    Réponses: 5
    Dernier message: 09/08/2006, 11h52
  4. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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