0

私には理解できない奇妙な点があります。以下のレイアウトでは、割り当てたボタン クリック イベントが機能しません。ボタンをタップしても何も起こりません。

(レイアウトはこれより少し複雑ですが、無関係なものを削除しました):

<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#/Mono for Android)

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

質問で概説されているように、この正確なコードは LinearLayout のコンテキスト外では機能しますが、内部では機能しません。

4

1 に答える 1