【问题标题】:Android ListView with clickable items in it's rows causes problems continuing scrolling行中带有可点击项目的 Android ListView 会导致继续滚动出现问题
【发布时间】:2011-05-12 18:17:50
【问题描述】:

我已经在互联网上搜寻了几个小时的答案,但我似乎找不到任何能够解决这个问题的人。

我有一个使用自定义适配器的列表视图。一行是这样的

列表由一个数组填充。一切都很好。

现在,我希望 ImageView 和 ToggleButton 对点击做出反应,所以我在我的适配器中实现 OnClickListener,将项目位置放在每个视图的标签中,然后我将它们的 onclicklistener 设置为此。

效果很好,除了现在我不能使用 onListItemClick 来启动项目的活动!好的,我说,我只是在中间放置文本的 relativelayout 使用相同的 onclicklistener。效果很好。一切都是可点击的,生活是美好的。

除了!现在,当我滚动列表时,我无法通过再次投掷来“继续”滚动。这会导致滚动停止,我必须再次甩动才能让它再次运行。似乎 onclick-thingy 导致投掷运动被解释为点击或其他东西(它不会触发 onClick 中的逻辑)。

我知道这可以通过转到我的 HTC Hero 上的电话列表来实现,它具有我想要的应用程序的布局和行为。这个应用程序甚至似乎有 onItemClickListener 工作。

那么我怎样才能确保列表保持滚动,并且仍然能够单击切换按钮、listitem 和 imageview?我整天都被困在这个问题上,这让我很头疼:(

【问题讨论】:

    标签: android listview scroll onclick listadapter


    【解决方案1】:

    在我回家之前又快速搜索了一下,我发现了这个:

    How to fire onListItemClick in Listactivity with buttons in list?

    CodeFusionMobile 提到将列表布局的android:descendantFocusability 属性设置为"blocksDescendants",所以我尝试这样做。现在一切都按预期工作。滚动作品,onListitemClicked作品,点击ToggleButton作品,点击ImageView作品。

    只是为了说清楚......在父RelativeLayout,就在row.xml的顶部,我添加了

    android:descendantFocusability="blocksDescendants"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      相关资源
      最近更新 更多