Android 子布局onClick方法中的ImageButton不起作用
当我尝试单击视图上的ImageButton时,它不起作用(未调用方法),但如果我使用emulator键盘单击它,它就起作用了。adb shell logcat不打印任何内容 my main.xml布局: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
<?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");
}