我有一个相当复杂的项目库。每个项目由一个图像和 2 个按钮组成。当库加载一切正常时,按钮会执行它们应该执行的操作,并且按钮的按下状态仅在实际按下按钮时发生。
但是,一旦我滚动图库,按钮就会停止工作,单击任意位置会启用按钮的按下状态。
我已尝试将所有内容嵌入到 LinearLayout 中,该布局不会根据 this answer 传递 OnDown 事件然而,这只会阻止点击事件。
我知道 Gallery 不是像这样的复杂布局的理想小部件,但我想知道是否有更好的解决方法来解决这个问题。
更新:
我将尝试稍微解释一下架构。我有一个包含 ListFragment 的 FragmentActivity,它仅由一个 ListView 组成。
ListView 由一组较小的元素(Bettable)以及一些元信息组成。这些组被实现为画廊。具体来说 我扩展了画廊(称为 OneGallery),它做了几件事,它确保一次只滚动一个项目,而且 在滚动发生时转换画廊项目。 Here is the code for that
Here is the adapter for the Gallery
这是 Bettable layout 的代码
最佳答案
尝试在 subview 周围添加一个新的包装器布局并覆盖 setPressed。图库将停止将其状态传递给 child ,并且您描述的上述不良行为将得到修复。
关于android - 滚动图库启用按下状态并从子项中删除点击监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764560/