最近在用RecyclerView做开发,偷个懒就借用android提供sample中的DividerItenDecoration类做分隔线,没想到中间出现了分隔线不显示的情况,为了找出原因,我在类里面加了个Paint,在同样的地方画一根线,这个线显示出来了,原来的分隔线还是没有显示出来,可能是getDrawable方法返回的是null,于是将类的参数修改了一下,原来是getApplicationContext(),现在改成了getContext(),分隔线正常显示了,总算找出原因了,是因为getApplicationContext().getDrawable()方法是在android21之后才有的,而在之前的版本上运行这个方法就会抛出java.lang.NoSuchMethodError: android.content.Context.getDrawable 异常,所以才会出现分隔线不显示。
时间: 2024-11-09 05:52:28