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 :

Récupération de données : Resources not found


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut Récupération de données : Resources not found
    Bonjour,

    Je souhaite tout simplement récupérer des données d'une SQLiteDataBase, j'ai une erreur "Not Found" au niveau de la resource dans mon layout, la voici:
    Layout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	   	<ListView 
    	    android:id="@android:id/list"
            android:layout_width="match_parent"
        	android:layout_height="wrap_content"
    	    ></ListView>
    Le code qui est censé remplir cette ListView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            ArrayAdapter<Agenda> adapter = new ArrayAdapter<Agenda>(this,
            		android.R.id.list, values);
            setListAdapter(adapter);
    J'ai suivi un tuto pour faire cela, j'avoue tout ça me parait bien étrange et un peu trop facile !
    Voyez-vous où est l'erreur et comment la corriger ?
    Merki

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            ArrayAdapter<Agenda> adapter = new ArrayAdapter<Agenda>(this,
            		android.R.id.list, values);
            setListAdapter(adapter);
    D'après la doc de ce constructeur, le deuxième argument est

    textViewResourceId : The resource ID for a layout file containing a TextView to use when instantiating views.
    Je ne pense pas que ce soit le cas car toi tu passes "android.R.id.list" qui est l'ID "générique" d'une liste ...

    Lionel

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    Même quand je passe l'Id d'un TextView, ça ne fonctionne pas, il me dit qu'il attend une resource de type android.id.list

    Y'a vraiment un truc que je pige pas dans l'affichage sous forme de liste des données d'une table, dans tous les tutos que je fais, c'est plus ou moins toujours la même chose, ce même code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArrayAdapter<Agenda> adapter = new ArrayAdapter<Agenda>(this,
            		android.R.id.list, values);
            setListAdapter(adapter);
    Code qui me parait un poil léger ...

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Le layout de l'activité contient bien une list-view avec l'identifier android.R.id.list ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    D'un coup je me demande si tu as bien compris le fonctionnement général... et hop... je colle une explication (peut-être inutile, dans ce cas, je suis désolé par avance, mais cela servira toujours à quelqu'un).

    1. Activité.
    Au niveau de l'activité, le layout (setContentView) contient des widgets, dont une (ou plusieurs) AdapterView (ListView, Spinner, ...).
    Certaines activité "facilitant" la vie du programmeur (ListActivity, etc...), demandent à ce que le widget soit une ListView, avec un identifiant spécifique: android.R.id.list
    Donc tout cela est au niveau du layout de l'activité.

    2. Adapter.
    Pour fonctionner, un AdapterView a besoin d'un Adapter qui va indiquer quoi mettre à l'intérieur... Cet Adapter a besoin d'un (ou plusieurs d'ailleurs) layout pour chaque élément affiché... Ils peuvent être prédéfinis (http://developer.android.com/referen.../R.layout.html) comme android.R.layout.simple_list_item_1... ou persos.

    3. Item.
    Pour chaque Item l'adapter va donc créer le layout ci-dessus. Certains adapters (ArrayAdapter, SimpleAdapter, ...) vont même essayer de remplir le layout avec les données qu'ils ont... La encore, certains "identifiants" par défaut risquent d'être utilisé comme dans le cas du ArrayAdapter qui va faire un "toString()" sur chaque élément de la liste, et coller le résultat dans le TextView référencé par 'android.R.id.text1' du layout des items (ou même le TextView racine, si le layout des items n'est qu'un TextView)

    Donc dans le cas *tres* simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ArrayAdapter<Toto>  adapter = new ArrayAdapter<Toto>(this,android.R.layout.simple_list_item_1,mesTotos);
    ListView lv = (ListView) findViewById(android.R.id.list);
    lv.setAdapter(adapter);
    Suffit pour coller tous les Toto.toString() dans une ListView ....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    Ok merci beaucoup, je pense que ça marche, j'ai plus d'erreur, il me reste plus qu'à finir ...
    Dans la ListView il m'affiche "com.androproject.monprog.Agenda@44ef7ea0" et je voudrais qu'il soit afficher le titre et en dessous la date et l'heure quand je serais parvenu à faire ça... j'aurai fait un grand pas en avant !!

    Merci de votre aide !

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    J'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ArrayAdapter<Agenda>  adapter = new ArrayAdapter<Agenda>(this,android.R.layout.itemagenda,mesAgenda);
     
    ListView lv = (ListView) findViewById(android.R.id.list);
    lv.setAdapter(adapter);
    "itemagenda" c'est un layout XML dans lequel j'ai des textview pour afficher le titre et les infos (date et heure)
    Je pensais que ça marcherait mais ça plante ...

  8. #8
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Relis bien le point (3) de mon message, et tu auras les réponses qu'il te manque.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 72
    Points : 51
    Points
    51
    Par défaut
    J'ai essayé à peu près tout ce qui était possible de faire, y'a toujours un problème ...

    Je pensais pas que ce serait aussi compliqué d'afficher les données d'une base ...

Discussions similaires

  1. Error 404: Resource not found for the segment
    Par jkamelin dans le forum Microsoft Dynamics CRM
    Réponses: 4
    Dernier message: 07/02/2018, 11h01
  2. REST, "resource not found"
    Par lekonquerant dans le forum Spring
    Réponses: 1
    Dernier message: 03/03/2015, 14h49
  3. Spring: Resource not found
    Par rosert dans le forum Spring
    Réponses: 2
    Dernier message: 24/02/2014, 11h42
  4. TXMLModule.create - name = resource not found
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 04/03/2003, 11h54

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