2011-06-27 4 views
10

J'essaie de cliqueter les éléments de ma liste dans un ListView. Au moment où ils sont cliquables (voir ma capture d'écran), ils sont seulement cliquables dans le rectangle que le texte prend. J'utilise protected void onListItemClick(ListView l, View v, int position, long id) { pour les éléments de la liste cliquables.Largeur de la zone cliquable dans ListView w/onListItemClick

Voici mon list.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
<ListView android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
<TextView android:id="@+id/android:empty" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/no_favorites"/> 

et mon row.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 
    <TextView android:id="@+id/artist" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
    <TextView android:id="@+id/songtitle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_alignParentRight="true"/> 
    <TextView android:id="@+id/album" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_alignParentRight="true"/> 
    <TextView android:id="@+id/playtime" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_alignParentRight="true"/> 
    <TextView android:id="@+id/playlistnum" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_alignParentRight="true" 
     android:visibility="gone" /> 
</LinearLayout> 

Et here's the screenshot example: (Les nouveaux utilisateurs ne sont pas autorisés à publier des images. .. grogner ... avoir un lien hypertexte!)

Dans list.xml, le Listview a et roid: layout_width = "fill_parent" donc ce devrait être toute la largeur de l'écran. (Tous les éléments de row.xml sont aussi width = "fill_parent".) Qu'est-ce qui me manque?

Répondre

11

Le TextView de votre liste.xml doit être défini sur fill_parent. La sélection s'adaptera alors à la largeur de la ListView parente.

 android:layout_width="wrap_content" 
+0

Essayé, ne fonctionnait pas. Cette TextView n'est utilisée que lorsque la liste est vide. :/ – Civilian

+3

hmmm .... Ah, seulement une autre différence dans mon code et le vôtre serait le LinearLayout également mis à fill_parent sur la largeur de layout. Essayez ça. Si cela ne fonctionne pas, je vais ouvrir mon code et l'afficher ici. – JLB

+3

Pour être clair, je parlais de LinearLayout dans votre liste.xml dans mon dernier commentaire. Il est défini sur wrap_content. A travaillé pour moi en changeant cela pour fill_parent. – JLB

Questions connexes