Android ListView项目ClickListener无法与HorizontalScrollView正常工作

Android ListView项目ClickListener无法与HorizontalScrollView正常工作,android,android-listview,android-dialog,Android,Android Listview,Android Dialog,我的侦听器工作不正常。我有一个带有ListView的自定义对话框布局。ListView将文本视图作为项目保存。文本视图应该是可滚动的,所以我将文本视图放在水平滚动视图中,因为我的文本可能会变长 但现在的问题是,只有当我删除ScrollView时,才会调用侦听器 这是我的ListView项目XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr

我的侦听器工作不正常。我有一个带有ListView的自定义对话框布局。ListView将文本视图作为项目保存。文本视图应该是可滚动的,所以我将文本视图放在水平滚动视图中,因为我的文本可能会变长

但现在的问题是,只有当我删除ScrollView时,才会调用侦听器

这是我的ListView项目XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <HorizontalScrollView android:layout_width="fill_parent"
        android:id="@+id/scrollView"
        android:layout_height="fill_parent"
        android:scrollbars="none">

        <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:scrollHorizontally="true"
            android:textColor="#fff"
            android:singleLine="true"
            android:paddingLeft="15dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:gravity="center_vertical"
            />
    </HorizontalScrollView>

    <View
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:background="#000"/>
</LinearLayout>
android:descendantFocusability="blocksDescendants" 
但是我的点击事件只有在我没有点击文本时才会触发

有人能帮我吗

编辑:

从W0rmH0le发布的解决方案。基本上,我需要的是EditText,而不是TextView:

编辑2: 在项目上单击仍然不平衡,焦点为false等。复选框工作,但TextView和EditText不工作。
因此,现在我的EditText获得的是click侦听器,而不是listView。请使用android:ScrollHorizontal=“true”和EditText,而不是TextView

试着这样做:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:scrollHorizontally="true"
            android:textColor="#fff"
            android:singleLine="true"
            android:paddingLeft="15dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:gravity="center_vertical"/
            android:scrollHorizontally="true">
    <View
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:background="#000"/>
</LinearLayout >


Ok使用您的解决方案,我必须删除我的视图,因为HorizontalScrollView只能承载一个直接子视图。但是,即使我删除了我的视图,我的onItemClick事件仍然不会被调用,即使我添加了android:genderantFocusability=“blocksDescendants”您需要删除
HorizontalScrollView
并添加到您的编辑文本
android:scrollHorizontal=“true”
如果没有HorizontalScrollView,我无法在TextView中水平滚动。请看我的编辑。有了EditText,我可以在没有水平滚动视图的情况下滚动。这就是我的意思,我必须使用EditText,但我的OnClickListener仍然没有被调用。我需要通过EditText传递click事件好的,这是因为我为我的EditText设置了android:focusable=“false”。但我需要它,因为否则,EditText会获得焦点来编辑其中的文本。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:scrollHorizontally="true"
            android:textColor="#fff"
            android:singleLine="true"
            android:paddingLeft="15dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:gravity="center_vertical"/
            android:scrollHorizontally="true">
    <View
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:background="#000"/>
</LinearLayout >