2015-04-22 33 views
1

我有一個ListView與幾行。每行由對onClick()事件作出反應的7 TextViews組成。在android中禁用根視圖的響應

這一切工作完全正常,但是當用戶點擊該行,如果沒有TextView惹人onClick()情況下,根視圖的邊緣 - 一個LinearLayout - GET的突出

這是正常行爲當然,但沒有任何反應,點擊那裏我不希望線性佈局突出顯示。 是否存在的禁止這種行爲守捉對TextView小號的onClick()事件什麼辦法?

(onClick的監聽器設置適配器getView()方法內)

這裏的XML文件的一些提取物。正如人們可以看到我嘗試了一些東西,但他們不工作。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 

    android:longClickable="false" 
    android:clickable="false" 
    android:focusable="false" 
    android:focusableInTouchMode="false"> 


    <TextView 
     android:id="@+id/listelement_weekoverview_tv_mo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_margin="1dp" 
     android:layout_weight="1" 
     android:background="@drawable/weeklylist_rndrectangle" 
     android:gravity="center_horizontal" 
     android:singleLine="false" 
     android:textColor="@color/appcolor_red_base" /> 

     ... 
</LinearLayout> 

未點擊版本 clicked version 點擊版本 unclicked version

+1

這聽起來像一個黑客,但可以行項目的背景設置爲始終具有相同的顏色繪製資源。 – Emmanuel

+0

@Emmanuel我試着把它設置爲(aet)android:color/transparent,但是沒有工作,我想保持透明。 – Endzeit

+0

您正在指定一種不完全不透明的顏色。另外一種顏色不是可繪製的。你想使用[狀態列表drawable](http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList)。 – Emmanuel

回答

1

我已經找到了解決辦法。

簡單地覆蓋isEnabled (int position)方法在自定義適配器是這樣的:

@Override 
public boolean isEnabled (int position) { 
    return false; 
} 
+0

比我的更好的方法! – Emmanuel

相關問題