Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 子ScrollView拦截/阻止/吞咽到其父视图的单击_Android_Scrollview - Fatal编程技术网

Android 子ScrollView拦截/阻止/吞咽到其父视图的单击

Android 子ScrollView拦截/阻止/吞咽到其父视图的单击,android,scrollview,Android,Scrollview,鉴于以下布局: <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" androi

鉴于以下布局:

<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>
如果点击ImageView,这可以正常工作,但是如果点击description ScrollView/TextView区域,则OnClickListener的onClick()方法永远不会被触发,可能是因为ScrollView正在处理/吞咽触摸

如何从ScrollView传递标准单击事件,以确保其父relativeLayout OnClickListener.onClick()方法触发?(但显然,ScrollView仍可滚动)


感谢

声明您的ScrollView
不可单击且不可聚焦
以将单击事件传递给父视图

android:clickable="false"
android:focusable="false" 

ScrollView
总是需要一个子布局<代码>滚动视图永远不会将直接子视图作为视图。因此,在scrollview中创建一个布局,并在该布局中添加
TextView
,如下所示:

这里我添加了
LinearLayout
您可以根据自己的选择添加布局

 <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">

    <LinearLayout
          android:id="@+id/linerlayout"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:orientation="vertical">
    <TextView
        android:id="@+id/textView_description"
        style="@style/TextDescription"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
   </LinearLayout>
</ScrollView>


在布局的滚动视图标签中,请添加android:clickable=“false”。请尝试一下,让我知道结果我面临同样的问题@OliverPearmain如果你有解决方案,你能发布答案吗?谢谢你的答案,但不幸的是,这似乎不起作用。我已经尝试过android:clickable=“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">

    <LinearLayout
          android:id="@+id/linerlayout"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:orientation="vertical">
    <TextView
        android:id="@+id/textView_description"
        style="@style/TextDescription"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
   </LinearLayout>
</ScrollView>