2013-01-22 28 views
0

我想建立一個列表視圖,每一行都有一個複選框與圖像和textview,我差點做到了,但是當我把複選框我不能按list_row,我的意思是我之前我把複選框,我可以點擊行,它懸停,因爲我在我的風格,但是當我點擊list_row時,我把它的複選框它沒有懸停和onitemclick不起作用,爲什麼?android listview每一行都有一個複選框

這是我的每個list_row

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/restaurant_list_item_selector" 
    android:orientation="horizontal" 
    android:padding="5dip" > 

    <!-- ListRow Left sied Thumbnail image --> 

    <LinearLayout 
     android:id="@+id/thumbnail" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginRight="5dip" 
     android:background="@drawable/restaurant_list_item_image_bg" 
     android:padding="3dip" > 

     <ImageView 
      android:id="@+id/restaurant_multi_select_list_item_image" 
      android:layout_width="50dip" 
      android:layout_height="50dip" 
      android:src="@drawable/rihanna" /> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/restaurant_multi_select_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/thumbnail" 
     android:layout_toRightOf="@+id/thumbnail" 
     android:textColor="#040404" 
     android:textSize="15dip" 
     android:textStyle="bold" 
     android:typeface="sans" /> 

    <!-- Rightend check box --> 

    <CheckBox 
     android:id="@+id/restaurant_multi_select_checkBox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:checked="false" 
     /> 

</RelativeLayout> 

回答

2

添加可聚焦元素(如複選框或按鈕)的XML無效點擊的整體列表項的能力和可聚焦性,必須禁止。

添加在XML中的複選框下面的屬性,然後嘗試

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

希望這有助於!

+0

android:descendantFocusability =「blocksDescendants」也可以在父親RelativeLayout中使用。好答案。 –

+0

是的,它的工作原理,懸停再次工作,但現在當我點擊任何list_row項目的第一個複選框選擇,爲什麼? –

+0

不確定問題是什麼。你可能想要檢查這個線程。 http://stackoverflow.com/questions/10294174/android-listview-of-checkboxes-always-checks-first-item-if-any-item-is-checked –

1

是啊,因爲複選框存在使得unclickable.You需要實現你同時使用的ImageView和TextView中的onClicklistenrs,當你想在列表行上thier點擊寫入相同的代碼視圖中單擊

設置焦點將有助於只觸摸但複選框點擊也將實現以及

+0

我得到你,但我沒有寫onclicklistener,我使用xml風格,所以我現在應該怎麼做? –

相關問題