【Android bug】GLES20Canvas

来源:互联网 发布:剑三苍云捏脸数据成男 编辑:程序博客网 时间:2024/06/14 06:07

一个5.1运行没问题,而4.4运行报错的bug

报错日志如下:

 Process: com.dzq.lxq.manager.debug, PID: 1454 java.lang.NullPointerException at android.view.GLES20Canvas.setupModifiers(GLES20Canvas.java:1439) at android.view.GLES20Canvas.drawLines(GLES20Canvas.java:1019) at android.view.GLES20Canvas.drawLine(GLES20Canvas.java:1009) at android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:538) at android.widget.LinearLayout.drawVerticalDivider(LinearLayout.java:396) at android.widget.LinearLayout.drawDividersHorizontal(LinearLayout.java:361) at android.widget.LinearLayout.onDraw(LinearLayout.java:315) at android.view.View.draw(View.java:14465) at android.view.View.getDisplayList(View.java:13362) at android.view.View.getDisplayList(View.java:13404) at android.view.View.draw(View.java:14182) at android.view.ViewGroup.drawChild(ViewGroup.java:3103) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) at android.view.View.getDisplayList(View.java:13357) at android.view.View.getDisplayList(View.java:13404) at android.view.View.draw(View.java:14182) at android.view.ViewGroup.drawChild(ViewGroup.java:3103) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) at android.view.View.getDisplayList(View.java:13357) at android.view.View.getDisplayList(View.java:13404) at android.view.View.draw(View.java:14182) at android.view.ViewGroup.drawChild(ViewGroup.java:3103) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) at android.view.View.getDisplayList(View.java:13357) at android.view.View.getDisplayList(View.java:13404) at android.view.View.draw(View.java:14182) at android.view.ViewGroup.drawChild(ViewGroup.java:3103) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) at android.view.View.getDisplayList(View.java:13357) at android.view.View.getDisplayList(View.java:13404) at android.view.View.draw(View.java:14182) at android.view.ViewGroup.drawChild(ViewGroup.java:3103) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) at android.view.View.draw(View.java:14468) at android.widget.FrameLayout.draw(FrameLayout.java:472) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2326) at android.view.View.getDisplayList(View.java:13362) at android.view.View.getDisplayList(View.java:13404) at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570) at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2377) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2249) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1879) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:544) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5001) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method)

解决办法:

This helped to me: change divider xml from

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"       android:shape="line">    <solid android:color="#00000000"/>    <size android:height="1dp"/></shape>

to

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"       android:shape="line">    <stroke android:color="#00000000"/>    <size android:height="1dp"/></shape>

把报错控件中的line或者divider等线条的布局xml中的 solid 改成 stroke
出自:http://stackoverflow.com/questions/32610564/android-recycler-view-divideritem-4-4-compatibility



1 0
原创粉丝点击