Android ListView项目ClickListener无法与HorizontalScrollView正常工作
我的侦听器工作不正常。我有一个带有ListView的自定义对话框布局。ListView将文本视图作为项目保存。文本视图应该是可滚动的,所以我将文本视图放在水平滚动视图中,因为我的文本可能会变长 但现在的问题是,只有当我删除ScrollView时,才会调用侦听器 这是我的ListView项目XML: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
<?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 >