gpt4 book ai didi

行中带有可点击项目的 Android ListView 会导致继续滚动时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:07 25 4
gpt4 key购买 nike

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

我有一个使用自定义适配器的 ListView 。一行看起来像这样

alt text

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

现在,我希望 ImageView 和 ToggleButton 对点击使用react,所以我在我的适配器中实现了 OnClickListener,将项目位置放在每个 View 的标记中,然后我将它们的 onclicklistener 设置为此。

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

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

我知道只要转到我的 HTC Hero 上的电话列表就可以做到这一点,它的布局和行为正是我想要从我的应用程序中获得的。这个应用程序甚至似乎有 onItemClickListener 工作。

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

最佳答案

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

How to fire onListItemClick in Listactivity with buttons in list?

CodeFusionMobile 提到将列表布局的 android:descendantFocusability 属性设置为 “blocksDescendants”,因此我尝试这样做。现在一切都按预期工作。滚动有效,onListitemClicked 有效,单击 ToggleButton 有效,单击 ImageView 有效。

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

android:descendantFocusability="blocksDescendants"

关于行中带有可点击项目的 Android ListView 会导致继续滚动时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com