2013-04-20 22 views
8

Garip bir problemle karşı karşıyayım, Button satırını kaldırabildiğimde ListView'ümde Özel bir satır ekledim, ancak Button ekledikçe Düğmeyi tıklayamıyorum satır, lütfen aşağıdaki xml bakın. Bu neden oluyor Android ListView ile Düğme seçilemez (Tıklanabilir)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="77dp" 
    android:layout_height="77dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="18dp" 
    android:src="@drawable/company_logo" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:text="Idds sdsad " 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/imageView1" 

    android:layout_below="@+id/textView1" 
    android:textColor="#8b8989" 
    android:layout_marginLeft="5dp" 
    android:text="Tap to see detail" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView2" 
    android:layout_centerHorizontal="true" 
    android:text="Button" /> 

yardım edin.

cevap

18

deneyin xml senin Button için

android:focusable="false" 
android:focusableInTouchMode="false" 

ayarı. Button, satırın üzerine odaklanır, bu yüzden satırınızı seçemezsiniz. Özel satırınızı kullanırken

26

.

getViewbutton için onclickListener ayarladıktan sonra, focusability false değerini ayarlayın.

i.e button.setFocusable(false);

Ayrıca, satırınızın düzen kabı için android:descendantFocusability="blocksDescendants"'u da ayarlayın. android:focusable="false"'u doğrudan ayarlayabilirsiniz, ancak bu, düğmenizin tıklanabilir olmamasını sağlayacaktır.

+10

ayarı android: descendantFocusability = "blocksDescendants" satırının düzen kapsayıcısında bu sorunu benim için çözmek için yeterliydi. Düğmenin odaklanabilir özelliği ile hiçbir şey yapmak zorunda değildim. – harmanjd

+0

Daha iyi bir çözüm, daha fazla deklaratif ve üst düzeydir. Çok hoş. – Marchy

İlgili konular