Android 子布局onClick方法中的ImageButton不起作用

Android 子布局onClick方法中的ImageButton不起作用,android,onclick,imagebutton,Android,Onclick,Imagebutton,当我尝试单击视图上的ImageButton时,它不起作用(未调用方法),但如果我使用emulator键盘单击它,它就起作用了。adb shell logcat不打印任何内容 my main.xml布局: <?xml version="1.0" encoding="utf-8"?> <merge xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout

当我尝试单击视图上的ImageButton时,它不起作用(未调用方法),但如果我使用emulator键盘单击它,它就起作用了。adb shell logcat不打印任何内容

my main.xml布局:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">  
    <LinearLayout   
        android:id="@+id/btn"   
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        >
        <ImageButton            
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_gravity="center_horizontal"  
            android:src="@drawable/ic_btn"
            android:clickable="true"
            android:onClick="click"         
         />
         <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="Text" />
    </LinearLayout>                   
</merge>
如果我将ImageButton作为
的直接子元素,则click方法正在工作。我的构建目标是安卓2.2。 那么,这里出了什么问题



更新我只知道这是因为按钮上有动画,动画结束后按钮的位置不会更新。我之前没有包括它,因为我不知道它是否相关。

为什么布局周围有一个合并元素?如果我重新确认,则仅当您没有视图组(例如,只有ImageButton)时才使用合并。尝试将linearlayout作为父元素。@hwa打电话是因为我想使用FrameLayout,根据android开发资源,我应该使用
,而实际上我在这个视图中有多个linearlayout元素,我只是没有显示它。Ait。我只在需要创建没有视图组父级的布局时使用“合并”。为什么布局周围有合并元素?如果我重新确认,则仅当您没有视图组(例如,只有ImageButton)时才使用合并。尝试将linearlayout作为父元素。@hwa打电话是因为我想使用FrameLayout,根据android开发资源,我应该使用
,而实际上我在这个视图中有多个linearlayout元素,我只是没有显示它。Ait。我仅在需要创建没有视图组父视图的布局时使用“合并”。
public void click(View view) {
    tv.setText("clicked");
}