ViewPager and OnItemClickListener in ListView



我正在创建一个滑动到解散列表视图适配器。我的基本方法是将列表项的视图包装为ViewPager中的第二个视图,并在ViewPager的项更改侦听器中提供必要的回调。经历了许多痛苦,我已经让视图回收器按预期工作,以及ViewHolder和ViewBinder模式实现。我甚至设法保持ListView接管触摸事件,而ViewPager正在滚动,而不必使ListView的自定义子类(我可以做到这一切从适配器)。

我遇到麻烦的地方是让选择器和OnItemClickListener工作。在查看ListView的源代码后,似乎通过重写ViewPager的hasFocusable()方法总是返回false(稍后我会从子视图中拉出这个值),这些事情应该已经重新启用。不幸的是,事实并非如此。我已经尝试了setDecendantFocusability()的解决方案,但我仍然卡住了。

我想避免必须扩展ListView,如果可能的话,以提供最大的模块化。出于类似的原因,我不想将选择器添加到ViewPager的背景(如果开发人员更改了ListView的选择器,这将不会反映)。从本质上讲,我希望使ViewPager代码在ListView和子视图之间透明。什么好主意吗?

您是说您正在使每个列表项成为视图分页,以便您可以实现滑动删除?如果是这样的话……不不,这不是寻呼机的功能。首先,对不起,它只是不打算作为一个项目在列表中使用。其次,它用于在视图之间切换,而不是滑动来删除。

遗憾的是,我们没有示例代码来演示如何做到这一点,但是您可以查看平台的通知窗格或最近的应用程序的实现来获得一些想法。

最新更新