我有一个带有一些产品名称的 ListView。我必须做的是当用户在该行上执行双击时更改一行的布局,另一个布局包含有关产品的其他数据。这可能吗?如果是,我该怎么做?
提前致谢
我有一个带有一些产品名称的 ListView。我必须做的是当用户在该行上执行双击时更改一行的布局,另一个布局包含有关产品的其他数据。这可能吗?如果是,我该怎么做?
提前致谢
有关类似设置,请参阅此问题How to detect a double touch/taps on an Android ListView?
有一个答案指向http://developer.android.com/guide/topics/ui/ui-events.html
如果您真的非常想处理双击,则必须处理该事件OnClick()
并将第一次单击计为双击的一部分。
为单击操作注册一个延迟处理程序(如果应该有的话)。
当您下一次收到OnClick()
事件时,请计算该点击与上一次点击之间的时间。如果它低于某个任意阈值,那么您将其视为双击。取消延迟的 SingleClick 处理程序并运行您的 DoubleClick 处理程序。
但它会很脆;可能会使用户感到困惑,并且将更难以构建和维护。
所以,简而言之,使用OnLongClick()
代替OnClick()
. Twitter 应用程序是使用这种 UX 的一个很好的例子。
但是,一旦您决定如何捕获事件,请在此处查看有关替换 ListView 中的单个项目的博客文章
如果我清楚地了解您的需求,我不知道,但这是可能的。
1. 制作一个自定义列表视图(列表视图必须具有双击时需要的所有组件)
2. 在开始时隐藏除具有产品名称的文本视图之外的所有组件。
3.在双击显示点击行的组件(可见=真)
注意:至于双击是另一回事。你应该考虑长按。