【发布时间】:2013-10-01 03:06:48
【问题描述】:
我正在尝试在具有多个选项的 ListView 中创建一个项目;查看和编辑。我想以与 android 的联系人系统完全相同的方式创建它 - 见下文:
我添加了红色框来说明我想要的行为。如果您在左侧红框内按下,您将呼叫该联系人。如果您在右侧的红色框内按,您会向联系人发送短信。我已经在 XML 中创建了类似的布局,但是在代码中实现此功能时遇到了麻烦。
我尝试为项目中的单独布局创建自定义 android:onClick 函数调用,但调用 onClick 方法只允许您将视图作为参数传递,而不是位置。需要使用listview.getItemAtPosition函数的位置,我尝试使用listview.getPositionForView返回位置,但发现这非常不稳定,很容易因为视图回收而返回错误的定位。
然后我尝试在我的适配器的getView 方法中将项目的位置设置为“标签”,如下所示:convertView.setTag(position)。但是在我活动的onClick 方法上,我尝试使用getTag 并将其转换回整数,它总是返回null,我觉得这很令人费解。
实现一个列表的最佳方法是什么,该列表由每个项目上具有多个按钮/布局的项目填充?
【问题讨论】: