滚动后未在recyclerview中绘制自定义视图

时间:2019-03-03 17:14:34

标签: android android-recyclerview android-canvas

我有一个自定义视图,该视图绘制了凹形形状(在屏幕截图上以红色矩形显示)。此自定义视图是我的回收站视图元素布局的一部分,该布局还包含带有背景色的纯视图(右侧)。

这是我的自定义视图的一部分(没有旋转,但是绘制方法相同):

float64

第一次显示recyclerview时,一切看起来都很好。但是当我向下(或向上)滚动时,自定义视图部分在所有新元素上都不可见。

到目前为止我已经测试过:

  • setItemViewCacheSize ->这很有帮助,但是当我再次向上滚动时,它会显示出同样糟糕的结果
  • notifyDataSetChanged ->这直接导致所有元素的“错误”可视化

这种行为可能是什么原因?

enter image description here

1 个答案:

答案 0 :(得分:0)

发现我的错误: 我使用了“ mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));”;在onDraw函数中。但是我忘了最终重置Xfermode。

我添加了行“ mPaint.setXfermode(null);”一切都按预期进行:)