Android:android.graphics.Canvas.drawLine(Canvas.java:809)中的java.lang.NullPointerException(可能与我的drawable资源有关)

Android:android.graphics.Canvas.drawLine(Canvas.java:809)中的java.lang.NullPointerException(可能与我的drawable资源有关),第1张

概述我正在尝试在每列中构建一个包含7列和24个TextView的子视图. 当我的活动开始时,我得到一个异常,它在堆栈跟踪中的任何地方都没有我的包. 这是24个文本视图中每个视图的背景可绘制资源 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/andr 我正在尝试在每列中构建一个包含7列和24个TextVIEw的子视图.

当我的活动开始时,我得到一个异常,它在堆栈跟踪中的任何地方都没有我的包.

这是24个文本视图中每个视图的背景可绘制资源

<?xml version="1.0" enCoding="utf-8"?><@R_857_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item><shape><solID androID:color="#CCC"/></shape></item>    <item androID:top=".5pt" androID:bottom=".5pt">        <shape androID:shape="line">            <size androID:height="1pt" androID:color="#CCC" androID:dashWIDth="1pt" androID:dashGap="1pt" />        </shape>    </item></@R_857_3419@>

在发生这种情况之前,cpu会在一两秒内达到100%.

我正在使用AndroID 2.2的模拟器

这是我的例外.

01-26 16:51:38.084: ERROR/AndroIDRuntime(955): FATAL EXCEPTION: main01-26 16:51:38.084: ERROR/AndroIDRuntime(955): java.lang.NullPointerException01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.graphics.Canvas.drawline(Canvas.java:809)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.graphics.drawable.GradIEntDrawable.draw(GradIEntDrawable.java:347)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.graphics.drawable.LayerDrawable.draw(LayerDrawable.java:320)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.draw(VIEw.java:6725)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1640)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1638)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1638)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1638)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.draw(VIEw.java:6846)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.Widget.FrameLayout.draw(FrameLayout.java:352)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.buildDrawingCache(VIEw.java:6502)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.onAnimationStart(VIEwGroup.java:1253)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1499)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1638)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.draw(VIEw.java:6743)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1640)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.draw(VIEw.java:6743)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.Widget.FrameLayout.draw(FrameLayout.java:352)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:1640)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:1367)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEw.draw(VIEw.java:6743)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.Widget.FrameLayout.draw(FrameLayout.java:352)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.draw(PhoneWindow.java:1842)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwRoot.draw(VIEwRoot.java:1407)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwRoot.performTraversals(VIEwRoot.java:1163)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.vIEw.VIEwRoot.handleMessage(VIEwRoot.java:1727)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.os.Handler.dispatchMessage(Handler.java:99)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.os.Looper.loop(Looper.java:123)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at androID.app.ActivityThread.main(ActivityThread.java:4627)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at java.lang.reflect.Method.invokeNative(Native Method)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at java.lang.reflect.Method.invoke(Method.java:521)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:626)01-26 16:51:38.084: ERROR/AndroIDRuntime(955):     at dalvik.system.NativeStart.main(Native Method)

编辑

将大小重命名为笔划可以消除崩溃,但我没有得到虚线.我想要在drawable的中间或底部有一条水平虚线.

解决方法 发生崩溃是因为GradIEntDrawable.mstrokePaint为null,这又是因为你没有指定< stroke>在您的XML中.

改变< size>至< stroke>将修复它,但您还需要将笔触颜色更改为与背景颜色不同,即:

<?xml version="1.0" enCoding="utf-8"?><@R_857_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item><shape><solID androID:color="#CCC"/></shape></item>    <item androID:top=".5pt" androID:bottom=".5pt">        <shape androID:shape="line">            <stroke androID:height="1pt" androID:color="#FF000000" androID:dashWIDth="1pt" androID:dashGap="1pt" />        </shape>    </item></@R_857_3419@>
总结

以上是内存溢出为你收集整理的Android:android.graphics.Canvas.drawLine(Canvas.java:809)中的java.lang.NullPointerException(可能与我的drawable资源有关)全部内容,希望文章能够帮你解决Android:android.graphics.Canvas.drawLine(Canvas.java:809)中的java.lang.NullPointerException(可能与我的drawable资源有关)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1121760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存