1

我正在和應用程序有一個列表視圖,這是一個自定義列表視圖裏面有一個按鈕和textview,這個列表視圖包含textview和一個按鈕。我在按鈕上使用了Onclick監聽器,因此我無法在Listview上使用onItemClick監聽器,我應該怎麼做來實現這一點。自定義ListView與onItemClickListner不工作,因爲我在按鈕內使用ListView的OnClickListner

下面是代碼

<ListView 
     android:id="@+id/lvMenuItem" 
     android:layout_width="350dp" 
     android:dividerHeight="3dp" 
     android:layout_height="wrap_content" > 
    </ListView> 

LvItem.xml

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

    <ImageView 
     android:id="@+id/imgMenu" 
     android:layout_width="60dp" 
     android:layout_height="60dp" 
     android:clickable="false" 
     android:contentDescription="@string/app_name"/> 

    <LinearLayout 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="5dp" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tvSubMenu" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:text="" /> 

     <TextView 
      android:id="@+id/tvType" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:text="" /> 
     <TextView 
     android:id="@+id/tvPrice" 
     android:layout_width="wrap_content" 
     android:focusable="false" 
     android:focusableInTouchMode="false" 
     android:layout_height="wrap_content" 
     android:text="" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/btnOrder" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="@string/btnOrder" /> 

</LinearLayout> 

OnclickListner按鈕工作正常,我應該爲onItemCLickListner在列表視圖做。請指導我

enter image description here

+1

你可以發佈你的適配器的代碼? – FWeigl 2013-03-08 11:56:06

回答

1

只是使Button不可聚焦,然後你就可以收到Button.OnClick回調以及ListView.OnItemClick

<Button 
    android:id="@+id/btnOrder" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:text="@string/btnOrder" 
    android:focusable="false" 
    android:focusableInTouchMode="false"/> 

你可以找到更詳細的解釋here

+0

偉大的工作..謝謝。我還有1個疑問我必須在按鈕後面隱藏兩個值,我在SetTag中隱藏了1個,我如何隱藏其他值? – hemant 2013-03-08 12:04:36

+1

我不知道我得到的問題,但我想你可以使用'setTag(int key,Object tag)'而不是'setTag(Object tag)'。像'button.setTag(0,「firstValue」); button.setTag(1,「secondValue);」'ant then'button.getTag(0); button.getTag(1);' – 2013-03-08 12:09:10

+0

好的謝謝...... – hemant 2013-03-08 12:11:26

相關問題