以下是布局示意图:
<RelativeLayout
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageview_item"
android:layout_width="200dp"
android:layout_height="150dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:scaleType="fitXY"
android:adjustViewBounds="false" />
<ScrollView
android:id="@+id/scrollview_description"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/imageview_item"
android:scrollbars="vertical"
android:fillViewport="true">
<TextView
android:id="@+id/textView_description"
style="@style/TextDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
</RelativeLayout>
我在代码中为父容器RelativeLayout添加了一个OnClickListenter。
View itemView = (View) rootView.findViewById(R.id.item);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do stuff
});
如果点击ImageView,这个方法可以正常工作。但是如果点击描述的ScrollView/TextView区域,OnClickListenter的onClick()方法就不会被触发,可能是因为ScrollView正在处理或吞噬了触摸事件。
我该如何使标准的点击事件从ScrollView传递到其父RelativeLayout,以确保其OnClickListenter.onClick()方法被触发?(但仍然要使ScrollView可滚动)
谢谢!