2013-10-24 129 views
0

我有一個奇怪的,我無法弄清楚。使用下面的佈局,我分配的按鈕單擊事件不起作用。當我點擊按鈕時沒有任何反應。爲什麼按鈕點擊事件在LinearLayout中不起作用?

(佈局比這更復雜一點,但我已經除去不相干的東西):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layoutOverview" 
    android:paddingLeft="7dp" 
    android:paddingRight="7dp" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 
     android:id="@+id/lblOverviewText" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" />  
    <LinearLayout 
     android:id="@+id/layoutSingleBlock" 
     android:layout_below="@+id/lblOverviewText" 
     android:layout_above="@+id/linearLayoutSetUnsetButtons" 
     android:visibility="gone" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:gravity="center"> 

     <!-- irrelevant stuff removed --> 

     <Button 
      android:id="@+id/btnMyButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="MY BUTTON" />  
    </LinearLayout> 
</RelativeLayout> 

然而,如果我移動的按鈕的LinearLayout,例如上下文之外下面,它的作品。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layoutOverview" 
    android:paddingLeft="7dp" 
    android:paddingRight="7dp" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 
     android:id="@+id/lblOverviewText" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" />  
    <Button 
     android:id="@+id/btnMyButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="MY BUTTON" />     
    <LinearLayout 
     android:id="@+id/layoutSingleBlock" 
     android:layout_below="@+id/lblOverviewText" 
     android:layout_above="@+id/linearLayoutSetUnsetButtons" 
     android:visibility="gone" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:gravity="center"> 

     <!-- irrelevant stuff removed --> 

     <!-- button moved outside the LinearLayout --> 

    </LinearLayout> 
</RelativeLayout> 

這是關於這個LinearLayout是防止按鈕單擊事件?

編輯

的要求,這是怎麼分配的點擊監聽OnCreate:(C#/單聲道用於Android系統)

FindViewById<Button>(Resource.Id.btnMyButton).Click += (s, e) => AlertAlarmEvents(); 

只是要注意,這個確切代碼工作的環境之外LinearLayout,但不在裏面,如問題所述。

+0

我想在你的XML'無關stuff'可因此線性佈局防止被點擊按鈕重疊。發佈完整的XML! –

+0

嘗試:1. LinearLayout ll = findViewById ... 2.按鈕btn = ll.findViewById ... – pvllnspk

回答

0

你忘了添加android:clickable="true"到的LinearLayout,我想你弄錯了ID的

+0

我曾在之前的嘗試中,它仍然無法正常工作。我現在再試一次,並回答結果。 – DaveDev

+0

在代碼中,您將** android:visibility =「gone」**更改爲可見? – artemiygrn

+0

是的,我喜歡。屏幕上的佈局和內容絕對可見 – DaveDev

相關問題