gpt4 book ai didi

Android ListView ItemClickListener 无法与 Horizo​​ntalScrollView 一起正常工作

转载 作者:行者123 更新时间:2023-11-29 23:00:17 26 4
gpt4 key购买 nike

我的 OnItemClickListener 无法正常工作。我有一个带有 ListView 的自定义对话框布局。 ListView 将 TextView 作为 Item。 TextView 应该是可滚动的,所以我将我的 TextView 放在 Horizo​​ntalScrollView 中,因为我的文本可能会变长。

但现在的问题是,OnItemClickListener 没有被调用,只有当我删除我的 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>

下面是我如何设置 On Item 点击监听器:

ListView listView = builder.findViewById(R.id.listviewDialog);
listView.setClickable(true);

ArrayAdapter arrayAdapter = new ArrayAdapter(ContextActivity, R.layout.list_item2, R.id.tv, aListe);

listView.setAdapter(arrayAdapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

//
}
});

当我将以下属性添加到我的项目 XML 的最顶层布局时,它会起作用:

android:descendantFocusability="blocksDescendants" 

但是只有当我没有点击文本时我的点击事件才会触发。

谁能帮帮我?

编辑:

W0rmH0le 发布的解决方案。基本上,我需要 EditText,而不是 TextView: Horizontal scroll on textview on android?

编辑2:即使在 focusable false 等情况下,Item Click 仍然会中断。复选框有效,但 TextView 和 EditText 无效。所以现在我的 EditText 获得了点击监听器,而不是 listView

最佳答案

使用 android:scrollHorizo​​ntally="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 >

关于Android ListView ItemClickListener 无法与 Horizo​​ntalScrollView 一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57041561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com