4

我想创建一个 ListView 项目布局,我可以在其中触摸行项目的某些部分。这类似于 2.0 的 Contacts Call Log 的行为,我可以单击绿色电话徽标发起呼叫或单击来电详细信息以获取有关联系人的更多信息。

我不需要仅行为实现。我已经知道将 OnClickListeners 绑定到我想要捕获新闻的行项目部分。我真正的问题是,当用户按下屏幕的某个区域时,UI 在某些情况下没有正确反应。IE:如果他们单击绿色电话图标,则只有电话周围的框会突出显示为按下。按下名称将突出显示该区域。

我查看了联系人应用程序的源代码,但它非常复杂,并且我能够取得一些成功我遇到了源代码引用了 SDK 本身中未公开的 Drawable 和资源的问题。

我想要一个不依赖android内部资源的合理实现。或者至少有一些指向正确方向的指针。

我正在寻找一种解决方案,它不仅适用于按下,而且适用于 5 向方向键盘。

这是一张图表,显示了我在说什么。

安卓通话记录
(来源:the-gadgeteer.com

4

1 回答 1

3

看起来就像在他们为 green设置的方法中设置每个列表行时一样。在绑定视图时,通过该方法将电话号码添加到该方法中。newViewonClickListenercall_iconcall_iconView.setTag()

然后,在onClick处理程序中,电话号码被拉出并Intent触发电话。

列表行上的所有其他按键都通过通常的方式处理 -onListItemClick方法。

于 2010-01-17T12:35:33.680 回答