我有一个带有一些产品名称的ListView。我要做的是当用户在该行上双击时改变一行的布局,另一种布局具有关于该产品的其他数据。这可能吗?如果是,我该怎么做?
提前致谢
答案 0 :(得分:0)
请参阅此问题以获得类似的设置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中的单个项目时捕获事件take a look here for a blog post
答案 1 :(得分:0)
如果我清楚地理解你需要什么,我就不会这样做。
1.制作自定义列表视图(列表视图必须具有双击时所需的所有组件)
2.开始时隐藏除textview之外的所有组件,其中包含产品名称
3.在双击时显示抽头行的组件(可见=真)
注意:至于双击,这是另一回事。你应该考虑长按。