gpt4 book ai didi

android - ListView 项内的多个可点击 View

转载 作者:太空狗 更新时间:2023-10-29 14:18:41 24 4
gpt4 key购买 nike

我正在尝试在具有多个选项的 ListView 中创建一个项目;查看和编辑。我想以与 android 的联系人系统完全相同的方式创建它 - 见下文:

enter image description here

我添加了红框来说明我想要的行为。如果你在左边的红框内按下,你就会调用联系人。如果您在右侧的红框内按下,则会向联系人发送一条短信。我已经在 XML 中创建了一个类似的布局,但我在代码中实现此功能时遇到了问题。

我曾尝试为项目中的单独布局创建自定义 android:onClick 函数调用,但调用 onClick 方法只允许您将 View 作为参数传递,而不是位置。需要位置使用listview.getItemAtPosition函数,我尝试使用listview.getPositionForView返回位置但是发现这个非常不稳定,并且由于 View 的回收很容易返回错误的定位。

然后我尝试在适配器的 getView 方法中将项目的位置设置为“标签”,如下所示:convertView.setTag(position)。但是在我的 Activity 的 onClick 方法上,我尝试使用 getTag 并将其转换回整数,但它总是返回 null,这让我感到困惑。

实现由每个项目上有多个按钮/布局的项目填充的列表的最佳方式是什么?

最佳答案

您可以像这样在行中的每个 View 上创建一个 onClick 事件:

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

<TextView
android:id="@+id/text_id"
android:layout_width="0sp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:onClick="textOnClickEvent"/>


<ImageButton
android:id="@+id/button_id"
android:layout_width="@dimen/width_button"
android:layout_height="match_parent"
android:onClick="imageOnClickEvent"
android:src="@android:drawable/ic_menu_delete" />
</LinearLayout>

甚至,在 getView 方法中的每个 View 上添加 onClick 监听器...

关于此的更多信息 here .

关于android - ListView 项内的多个可点击 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006353/

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