2013-09-24 55 views
0

我在擴展LinearLayout時遇到了一些麻煩。 onClick事件永遠不會被觸發。Extendend LinearLayout - setOnClickListener不起作用

我的代碼:

public class Tab extends LinearLayout { 

    public Tab(Context context) { 
     super(context); 
     init(context); 
    } 

    public Tab(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     // ... get attrs ... 
     init(context); 
    } 

    public Tab(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(context); 
    } 

    public void init(Context context) { 
     inflate(context, R.layout.tab, this); 
     // ... some layout tasks ... 
     iconView.requestLayout(); 
    } 
} 

佈局tab.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rootView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center_horizontal|center_vertical" 
    android:background="@drawable/bg_tab" 
    android:clickable="true" 
    android:duplicateParentState="true"> 

    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:adjustViewBounds="true" 
     android:scaleType="centerInside" 
     android:layout_gravity="center_horizontal|center_vertical" 
     android:clickable="false" 
     android:duplicateParentState="true"/> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:clickable="false" 
     android:gravity="center_horizontal" 
     android:layout_gravity="center_horizontal|center_vertical" 
     android:textAllCaps="true" 
     android:textColor="@drawable/tab_text_color" 
     android:textSize="11sp" 
     android:duplicateParentState="true"/> 

</LinearLayout> 

如果我把一個標籤的子視圖事件監聽,它的工作原理,但附着在選項卡時,本身是不。

有人可以看到我的錯誤在哪裏嗎?

回答

0

我只是在rootView上設置android:clickable false,並且工作! =)

相關問題