列表项与ListView分离,即使它们应该显示在屏幕上(Android 7.0)

时间:2016-09-30 10:13:45

标签: android listview android-7.0-nougat

设备: Nexus 5X(仿真器和真实设备)

Android操作系统版本: API 24(较旧的API工作正常)

我做了什么: 我重写ArrayAdapter getView()方法直接返回List。 (我是故意这样做的。在实际情况下,会返回不同设计的视图) 当我运行应用程序时,它首先工作正常。 向下滚动到底部并返回到顶部后,无法点击某些项目。(下面有一个示例项目)

我的期望: 无论我如何滚动,我都希望每一行都能被点击。

我调查的内容: 我重写View的方法来打印onAttachedToWindow / onDetachedFromWindow的日志。我有以下日志。

//当我第一次滚动到底部时,似乎很好。

    0 onAttachedToWindow
    1 onAttachedToWindow
    2 onAttachedToWindow
    3 onAttachedToWindow
    4 onAttachedToWindow
    5 onAttachedToWindow
    0 onDetachedFromWindow
    6 onAttachedToWindow
    1 onDetachedFromWindow
    7 onAttachedToWindow
    2 onDetachedFromWindow
    8 onAttachedToWindow
    3 onDetachedFromWindow
    9 onAttachedToWindow
    4 onDetachedFromWindow
    4 onAttachedToWindow

//当我滚动回到顶部时,似乎出现了问题。

    9 onDetachedFromWindow
    3 onAttachedToWindow
    3 onDetachedFromWindow
    8 onDetachedFromWindow
    2 onAttachedToWindow
    2 onDetachedFromWindow
    7 onDetachedFromWindow
    1 onAttachedToWindow
    1 onDetachedFromWindow
    6 onDetachedFromWindow
    0 onAttachedToWindow
    0 onDetachedFromWindow
    5 onDetachedFromWindow

//项目3,2,1,0在附加后分离,即使它们仍然在屏幕上。

对我来说,就像#DetachedFromWindow"被称为有线。 我使用过" Android设备监视器"采取视图层次结构捕获,我发现在视图层次结构中缺少无法点击的项目。我想知道在滚动期间是否意外地分离了这些项目。

如果您知道问题出在哪里,请告诉我。

示例项目: https://drive.google.com/file/d/0BzmsPd8_SvZ6SVJnZHMzUmdjMHc/view?usp=sharing

0 个答案:

没有答案