【问题标题】:Android ListView Change one Row on double tapAndroid ListView 双击更改一行
【发布时间】:2012-09-27 17:09:47
【问题描述】:

我有一个带有一些产品名称的 ListView。我必须做的是当用户在该行上执行双击时更改该行的布局,另一个布局包含有关产品的其他数据。这可能吗?如果是,我该怎么做?

提前致谢

【问题讨论】:

    标签: android listview layout double-click


    【解决方案1】:

    如果我清楚地了解您的需求,我不知道,但这是可能的。
    1.制作自定义列表视图(列表视图必须有双击时需要的所有组件)
    2. 开始时隐藏除具有产品名称的文本视图之外的所有组件。
    3.双击显示点击行的组件(可见=真)
    注意:至于双击是另一回事。你应该考虑长按。

    【讨论】:

    • 感谢您的回答,现在可以使用了。我的问题比我在这里公开的要复杂,但是您的想法对我有所帮助。再次感谢。
    【解决方案2】:

    查看此问题以了解类似的设置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 的一个很好的例子。

    但是,一旦您决定如何捕获事件 take a look here for a blog post 替换 ListView 中的单个项目

    【讨论】:

      猜你喜欢
      • 2016-11-25
      • 1970-01-01
      • 2011-03-23
      • 2020-10-23
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      相关资源
      最近更新 更多