Bob Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 Bonjour, je voulais savoir si la classe principale pouvait être extends de ListActivity au lieu d'Activity, parce que je reçois un message d'erreur dans ce cas, je ne comprends pas bien pourquoi. merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eden91940 Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 oui a priori y'a pas de raisons, quelle erreur apparaît ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 Oui c'est possible mais il faut dans ce cas que ton layout comprenne une ListView avec : android:id="@id/android:list" C'est la liste que complètera auquel se rapportera l'Activity :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 pour info la fenêtre principale de ma nouvelle appli keepscreen (pub discrête ^^) est une listactivity. Tu as l'erreur à l'éxecution ou à la compile ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 Oui c'est possible mais il faut dans ce cas que ton layout comprenne une ListView avec : android:id="@id/android:list" C'est la liste que complètera auquel se rapportera l'Activity :) bein non... la listactivity a déjà une liste interne... par contre il faut faire un setAdapter dans le onCreate sinon ta ListActivity va être à l'ouest. Et dans l'adapter (SimpleAdapter ou BasicAdapter) implémenter les fonctions de list, dans le getView pour aller chercher un layout qui sers de ligne. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 (modifié) bein non... la listactivity a déjà une liste interne... Oui bien sûr mais il faut dire où elle est dans le layout, d'où le android:id="@id/android:list" qui est un identifiant pour la liste interne à la ListActivity On parle de la même liste, celle implémentée dans la classe ListActivity Modifié 14 août 2009 par Fluckysan Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
thomas.l Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 Oui bien sûr mais il faut dire où elle est dans le layout, d'où le android:id="@id/android:list" qui est un identifiant pour la liste interne à la ListActivity On parle de la même liste, celle implémentée dans la classe ListActivity Tu n'as pas besoin de redéfinir un layout surtout. Je rejoins popolbx là dessus. C'est tout l'intérêt d'utiliser une ListActivity : pas besoin de faire une Activity à laquelle on fait "inflater" un layout maison. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 En effet, pô besoin je suis tout à fait d'accord avec vous Je parlais du cas où on veut mettre autre chose sur son Activity (par exemple des boutons) :o Je trouve ça plus propre de le mettre dans un layout, après les goûts et les couleurs ... Bref, pour ne pô polluer le topic de Bob, attendons sa réponse sur son bug ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bob Posté(e) 14 août 2009 Auteur Share Posté(e) 14 août 2009 (modifié) Alors en fait, après plusieurs tests, ce n'est pas ça le problème, mais c'est que je n'arrive pas à creer de listview à partir d'un ArrayList, j'obtiens l'erreur lorsque je lance le programme. Pour info, j'ai donc mon layout main.xml avec un listview. Modifié 14 août 2009 par Bob Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
thomas.l Posté(e) 14 août 2009 Share Posté(e) 14 août 2009 Il faudrait préciser quelle erreur, là c'est vrai qu'on voit pas bien. Ca peut être tout et n'importe quoi. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bob Posté(e) 14 août 2009 Auteur Share Posté(e) 14 août 2009 Alors pour l'erreur c'est un truc du genre : Le processis com.aaaa.aaa.aaa a du se fermer ... et après j'ai un bouton forcer, m'enfin je ne suis pas chez moi donc ne peux pas vérifier. Au niveau du code c'était quelque chose comme ça : mList = (ListView) findViewById(android.R.id.list); final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,mArrayList); mPhotosList.setAdapter(adapter); mPhotosList.setOnItemClickListener(this) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 15 août 2009 Share Posté(e) 15 août 2009 Procède par étapes : enlève ton setOnItemClickListener pour dans un permier temps arriver à faire l'affichage de la liste Ensuite qu'est ce que tu as dans ton mArrayList et de quel type est-il ? Et pourrais-tu aller jeter un coup d'oeil dans ton DDMS (Window ===> Open Perspective ===> DDMS) dans la partie LogCat (Window ===> Show Window ===> LogCat) et nous copier / coller le message d'erreur (en rouge flashy bien voyant :p) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bob Posté(e) 17 août 2009 Auteur Share Posté(e) 17 août 2009 Alors j'ai un peu modifié le code, m'enfin j'obtiens toujours le même problème, lorsque je lance mon programme, une box me dit que : The application CountAll (process org. ...) has stopped inexpectedlu. Please try again. Pour le code, j'ai ça : private final String[] LISTO1 = new String[] {"aa","bb"}; ListView list1 = (ListView) findViewById(android.R.id.list); list1.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, LISTO1)); Pour le LogCat, voilà ce que j'ai : 08-17 07:54:18.369: WARN/dalvikvm(817): threadid=3: thread exiting with uncaught exception (group=0x4000fe70) 08-17 07:54:18.369: ERROR/AndroidRuntime(817): Uncaught handler: thread main exiting due to uncaught exception 08-17 07:54:18.388: ERROR/AndroidRuntime(817): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.Count.All.my/org.Count.All.my.CountAll}: java.lang.NullPointerException 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread.access$1800(ActivityThread.java:112) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.os.Handler.dispatchMessage(Handler.java:99) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.os.Looper.loop(Looper.java:123) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread.main(ActivityThread.java:3948) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at java.lang.reflect.Method.invokeNative(Native Method) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at java.lang.reflect.Method.invoke(Method.java:521) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at dalvik.system.NativeStart.main(Native Method) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): Caused by: java.lang.NullPointerException 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at org.Count.All.my.CountAll.onCreate(CountAll.java:29) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) 08-17 07:54:18.388: ERROR/AndroidRuntime(817): ... 11 more 08-17 07:54:20.329: WARN/InputManagerService(574): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43749bc0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Max_well Posté(e) 17 août 2009 Share Posté(e) 17 août 2009 Tu devrais vérifier que ton "list1" n'est pas à null au retour de "findViewById(android.R.id.list)". Si c'est le cas, c'est que tu utilises un layout perso (setContentView()) et qu'il n'as pas "@android:id/list". ( http://developer.android.com/reference/android/app/ListActivity.html ) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bob Posté(e) 17 août 2009 Auteur Share Posté(e) 17 août 2009 Effectivement, je n'avais pas de setContentView, merci :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.