Jump to content

Classe main, ListActivity


Bob

Recommended Posts

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.

Link to comment
Share on other sites

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

Edited by Fluckysan
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 ;)

Link to comment
Share on other sites

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.

Edited by Bob
Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...