2017-09-14 23 views
0

我有一個列表視圖,顯示項目。Listview不再註冊itemClickEvent與微調在它

<ListView 
    android:id="@+id/lvOrderItems" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_margin="15dp" 
    android:layout_weight=".35" 
    android:clickable="true" 
    android:divider="@null" /> 

我有保存每個項目的模板cart_item xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:padding="5dp"> 

    <ImageView 
     android:id="@+id/imgItemImage" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_gravity="center_vertical" 
     android:layout_margin="5dp" 
     android:elevation="2dp" 
     android:scaleType="fitCenter" /> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="7" 
     android:orientation="vertical" 
     android:paddingLeft="10dp"> 

... 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1.5" 
     android:orientation="vertical"> 
... 

      <Spinner 
       android:id="@+id/spnQty" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/accountsettings_dropdown" 
       android:padding="15dp" /> 

... 

     </RelativeLayout> 

    </LinearLayout> 

</LinearLayout> 

在我的自定義接口的代碼。

我簡單地註冊的下拉列表中的項目,像這樣:

public View getView(int i, View view, ViewGroup viewGroup) { 

    ... 

    Spinner spnQty = view.findViewById(R.id.spnQty); 

    ... 

    ArrayAdapter<Integer> qtyAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, nums); 
    qtyAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spnQty.setAdapter(qtyAdapter); 

如果我只是註釋掉spnQty.setAdapter(qtyAdapter);點擊事件的列表視圖現在的工作。

其他方面clickEvents根本不註冊。

關於可能是什麼問題的任何想法?

回答

1

Spinner是一個具有可點擊屬性的元素,它將控制您的點擊事件,因此您的ListView將無法​​處理點擊事件。

嘗試增加android:descendantFocussability=blocksDescendants這個要頂大多數佈局的ListView元素的XML或您ListView