2011-06-27 7 views
10

Próbuję kliknąć, aby wyświetlić elementy listy w klikalnej liście. W tej chwili są one klikalne (zobacz mój zrzut ekranu), ale można je kliknąć tylko w prostokącie, który zajmuje tekst.Szerokość obszaru klikalnego w ListView w/onListItemClick

Używam protected void onListItemClick(ListView l, View v, int position, long id) { dla klikalnych elementów listy.

Oto moja 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"/> 

i mój 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> 

I here's the screenshot example: (Nowi użytkownicy nie mogą dodawać obrazy. .. narzekać ... mieć hiperłącze!)

W list.xml Listview ma i roid: layout_width = "fill_parent", więc powinna to być pełna szerokość ekranu. (Wszystkie pozycje w pliku row.xml są również width = "fill_parent".) Czego mi brakuje?

Odpowiedz

11

TextView w pliku list.xml należy ustawić na fill_parent. Wybór dopasuje następnie szerokość nadrzędnego ListView.

 android:layout_width="wrap_content" 
+0

Wypróbowałem, nie działało. To TextView jest używane tylko wtedy, gdy lista jest pusta. :/ – Civilian

+3

hmmm .... Ah, jedyną różnicą w moim kodzie i twoim byłby LinearLayout również ustawiony na fill_parent na szerokości layout_width. Spróbuj. Jeśli to nie zadziała, otworzę mój kod i opublikuję go tutaj. – JLB

+3

Dla jasności odnosiłem się do LinearLayout w twoim list.xml w moim ostatnim komentarzu. Jest ustawiony na wrap_content. Pracowałem dla mnie, zmieniając to na fill_parent. – JLB

Powiązane problemy