|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Bonjour à tous, j'ai créé une listview qui fonctionne plutôt pas mal mais impossible d'adapter mon code pour une Gridview
Voici l'activite principale: Code :
Code :
Donc ça fonctionne très bien pour une listview, mais rien à faire pour une GridView! J'ai essayé avec : Code :
Je bloque vraiment, vous avez une idée s'il vous plait? Merci d'avance |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() |
Qu'est ce qui ne marche pas ?
Sinon, Eclipse n'a rien dit pour les layout des items ? parceque Image+Text = TextView seul (il est possible de coller une image a droite, gauche, bas, haut à un TextView => c'est comme ça que sont fait les checkbox).
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Bonjour
Citation:
Ma listview fonctionne très bien, mais je n'arrive pas à mettre en place les liens vers des activités lors de click sur des items dans la gridview. Les 2 premiers codes que j'ai posté ci-dessus sont ceux de la listview, j'aimerai que vous m'indiquiez comment l'adapter pour avoir le même fonctionnement avec ma grille, tout simplement. Citation:
Merci pour vos conseils! |
||
|
|
00
|
|
|
#4 | |||
![]() ![]() |
Citation:
Le OnItemClickListener n'est pas appelé ? L'intent n'est pas lancé ? L'activité n'est pas affichée ? L'application ferme ? Sinon, j'ai vu aussi l'utilisation de getApplicationContext() ... pourquoi ? un simple MyActivity.this suffirait je pense (remplacer MyActivity bien sur) Citation:
Citation:
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|||
|
|
00
|
|
|
#5 | ||||
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Citation:
Citation:
Citation:
Citation:
En tout cas, merci de intéresser à mon problème |
||||
|
|
00
|
|
|
#6 | |||
![]() ![]() |
Donc il y a une exception...
Si il y a exception, il y a un logcat Si il y a un logcat, il nous faut la copie (enfin... toute l'exception et ses causes quoi). Citation:
Tu changes GridView par ListView et ca continue de marcher... Pour être encore plus "générique"... le code pourrait simplement utiliser un truc genre: Code :
C'est d'ailleurs la méthode recommandée en POO... vu qu'on n'utilise que les fonctionalités d'un AdapterView, c'est un objet AdapterView qui est référencé (peut importe son implémentation)
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|||
|
|
00
|
|
|
#7 | ||||||||
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Dans mon activité de type listview (qui fonctionne):
Code :
mon listview.xml Code :
Mon gridview.xml Code :
Code :
|
||||||||
|
|
00
|
|
|
#8 | ||
![]() ![]() |
Non mais là tu hérites de ListActivity, une Activity qui attend d'avoir dans le layout une ListView (et uniqument ça) avec comme identifiant "android.R.id.list"...
D'ailleurs le logcat (il en manque d'ailleurs une partie hein ! Code :
ListActivity est à éviter si tu veux pouvoir changer de Grid à ListVuew...
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
J'ai bien essayé de remplacer extends ListActivity par extends Activity et eclipse me propose de redéfinir setlisadapter, ce que je fais et là, plus de plantage, ça fonctionne sans erreur mais pas de grille affichée, page blanche.
J'ai également changé l'ID pour un truc du genre"android:id/list" et le message d'erreur est du genre (de tête) : "Error: android.widget.ListView cannot be cast to android.widget...." Tu pourrais me dire concrètement les lignes qu'il faut adapter parceque là je ne vois plus quoi faire!
|
|
|
00
|
|
|
#10 | ||||
![]() ![]() |
Bon... il va falloir lire un peu de documentation peut-être
En fait... voila le code d'un AdapterView sur une activité "normale"... Code :
Code :
D'ailleurs il y a très peu de code dans ListActivity (ou ListFragment). Juste la conservation de l'adapter, et la récupération de la view quand nécessaire... donc quasiment rien.
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
||||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Bon bah j'arrive à rien c'est pas possible
Mon appli est relativement simple et je bloque presque plus que là dessus... Je t'avoue que j'ai vraiment du mal à assimiler la doc car c'est particulièrement imbuvable pour un débutant (qui souhaite le rester). Si certains pro sentent une menace dans les nouveaux développeurs, aucun risque ! ![]() Je souhaite juste afficher dans une grille, des textes se trouvant dans un string.xml, associés à leurs icones. Puis simplement pouvoir cliquer sur ces items pour lancer l'activité adéquate. C'est pas un coup de gueule mais je trouve ça incroyable de ne pas trouver un exemple concret sur un sujet si "commun" que sont les gridviews. Je ne désespère pas mais... bah si en fait, je désespère
|
|
|
00
|
|
|
#12 |
![]() ![]() |
Bon... quel est le code complet de ton activité dans l'état actuel (avec dépendances XML) ?
Et qu'est ce qui ne marche pas ?
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|
|
00
|
|
|
#13 | |||||||||||||
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Citation:
J'ai une activité principale mais elle n'a pas d’intérêt dans l'état actuel des choses. J'ai donc ma page avec les différents liens sous forme de liste sg_menu.java Code :
listview.xml Code :
list_icons.xml Code :
Code :
ImageAndTextAdapter.java Code :
![]() Jusque là, pas de soucis, chaque lien fonctionne suivant les cas énumérés dans sg_menu.java (cas 1/2/3/...) Maintenant, j'essaye simplement de changer la forme de mon layout pour afficher mes items sous forme de grille, avec pour layout: grille.xml Code :
Code :
Caused by: java.lang.RuntimeException: Your content must have a ListView whose id is android:id/list mais forcément, ça ne fonctionne pas. L’erreur du logcat est: Code :
E/AndroidRuntime(21587): Caused by: java.lang.ClassCastException: android.widget.GridView cannot be cast to android.widget.ListView Merci encore! |
|||||||||||||
|
|
00
|
|
|
#14 |
![]() ![]() |
Encore une fois... si tu utilises "ListActivity" tu DOIS avoir un ListView (et uniquement cela) avec comme identifiant "@android:id/list" dans le XML. C'est des les prerequis de la classe (http://developer.android.com/referen...tActivity.html :
To do this, your own view MUST contain a ListView object with the id "@android:id/list" (or list if it's in code)). Ce n'est pas le cas avec grille.xml => les erreurs que tu as. Si tu veux passer à autre chose (GridView par exemple): 1. Commencer par ne plus utiliser ListActivity (et hériter de Activity tout court) 2. Adapter le code (j'ai filé les modification dans un message précédent).
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Bon bah non, y'a rien à faire, désolé mais je n'y arrive pas
J'ai tout essayé, surtout n'importe quoi et j'arrive pas à ne plus avoir d'erreur. J'ai des bases vraiment minimale en java. Je comprend bien le principe global des activités, les ressources, etc.. mais là, dans le code pur et dur, c'est pas mon truc... Je t'assure que je ne suis pas du genre à demander un travail tout fait mais ça m’agace sérieusement d'être bloqué sur un truc si "con" alors que l'architecture de mon appli ne repose quasiment que sur des listes et des grilles et j'ai envie de tout sauf de me "taper" des dizaines d'heures de lecture de doc pour ce malheureux point bloquant Tu veux vraiment me laisser chercher (galérer) ou tu veux bien m'écrire les quelques lignes nécessaires.
|
|
|
00
|
|
|
#16 | ||
![]() ![]() |
Non mais je l'ai collé le code... hier à 12h58 !!!
Code :
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
||
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
J'ai bien vu ça hier, pas de soucis et je viens même d'essayer de l’insérer
Ça ne sert à rien que je te montre ce que j'ai fait car ça ne ressemble à rien. je suis un boulet
|
|
|
00
|
|
|
#18 | ||
![]() ![]() |
C'est ce qui m'inquiete....
La différence avec ton code, il y a pas grand code: Code :
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
||
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 18 ![]() |
Ca fonctionne presque
A la ligne 13: Code :
The type SgMenu must implement the inherited abstract method AdapterView.OnItemClickListener.onItemClick(AdapterView<?>, View, int, long) SgMenu.java /SunsetBld/src/com/example/monappli Code :
extends Activity implements OnItemClickListener ce qui n'est pas le cas si je dé-commente les 2 lignes précédentes. J'ai également du enlever le @override à la ligne 38 pour qu'il n'y ai plus d'erreur Code :
The method onItemClick(ListView, View, int, long) of type SgMenu must override or implement a supertype method Avec ces modifications La grille s'affiche mais les liens ne fonctionnent pas (pas de crash pour autant)
|
|
|
00
|
|
|
#20 |
![]() ![]() |
Il suffit de modifier la fonction pour prendre les bons paramètres
Si Eclipse rale sur un @Override c'est que la signature de la fonction n'est pas bonne. J'ai modifié mon code... mais bon, eclipse n'est pas avare en explications concernant les erreurs.
__________________
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !Et surtout
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com