2011-06-27 16 views
10

Liste öğelerim tıklanabilir bir ListView tıklatmaya çalışıyorum. Şu anda tıklanabilirler (ekran görüntüsüme bakın) ancak sadece metnin oluşturduğu dikdörtgen içinde tıklanabilirler.ListView içinde tıklanabilir alan genişliği w/onListItemClick

Tıklanabilir liste öğeleri için protected void onListItemClick(ListView l, View v, int position, long id) { kullanıyorum.

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

ve benim 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> 

Ve here's the screenshot example: (Yeni kullanıcıların resim göndermek için izin verilmez

İşte benim list.xml olduğunu. ... grumble ... bir köprü var!)

Liste.xml'de, Listview roid: layout_width = "fill_parent" böylece ekranın tüm genişliği olmalıdır. (Row.xml öğesindeki tüm öğeler de width = "fill_parent" şeklindedir.) Neyi özlüyorum?

cevap

11

Listenizdeki TextView öğesinin fill_parent olarak ayarlanması gerekir. Seçim daha sonra ana Liste Görünümü'nün genişliğine sığacaktır.

 android:layout_width="wrap_content" 
+0

Denedim, işe yaramadı. Bu TextView sadece liste boş olduğunda kullanılır. :/ – Civilian

+3

hmmm .... Ah, sadece benim kodumdaki diğer fark, layout_width'de de fill_parent olarak ayarlanmış LinearLayout olacaktır. Bunu dene. Bu işe yaramazsa, kodumu açıp buradan yayınlayacağım. – JLB

+3

Net olmak gerekirse, son yorumumda list.xml dosyanızdaki LinearLayout ifadesini kullanıyordum. Wrap_content olarak ayarlandı. Benim için bunu fill_parent olarak değiştirdim. – JLB

İlgili konular