Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在XML定义的视图中使用画布绘制函数_Android_Android Layout - Fatal编程技术网

Android 如何在XML定义的视图中使用画布绘制函数

Android 如何在XML定义的视图中使用画布绘制函数,android,android-layout,Android,Android Layout,我不想创建一个新的视图对象,我已经在XML中定义了一个简单的视图,我只想在它上面画一些条 在XML中,我有一个空白的LinearLayout,其中包含: <View android:id="@+id/bars" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/grey" /> 当我尝试设置颜色时,得到

我不想创建一个新的视图对象,我已经在XML中定义了一个简单的视图,我只想在它上面画一些条

在XML中,我有一个空白的LinearLayout,其中包含:

<View
    android:id="@+id/bars"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/grey" />
当我尝试设置颜色时,得到的错误是NullPointerException。如果我去掉那条线,当我试着画圆圈时,我会得到一个错误。我怎么能做我想做的

编辑-错误日志(我取出了setColor):

05-19 00:56:14.100: E/AndroidRuntime(2422): FATAL EXCEPTION: main
05-19 00:56:14.100: E/AndroidRuntime(2422): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aheadstudios.talkalytics/com.aheadstudios.talkalytics.ViewStatsPrototype}: java.lang.NullPointerException
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.access$600(ActivityThread.java:153)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.os.Looper.loop(Looper.java:137)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.main(ActivityThread.java:5227)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at java.lang.reflect.Method.invokeNative(Native Method)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at java.lang.reflect.Method.invoke(Method.java:511)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at dalvik.system.NativeStart.main(Native Method)
05-19 00:56:14.100: E/AndroidRuntime(2422): Caused by: java.lang.NullPointerException
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.graphics.Canvas.drawCircle(Canvas.java:961)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.MultiStatsData.commonSetup(MultiStatsData.java:68)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.MultiStatsData.<init>(MultiStatsData.java:50)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.ViewStatsPrototype.setupMultiStatsData(ViewStatsPrototype.java:48)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.ViewStatsPrototype.onCreate(ViewStatsPrototype.java:43)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.Activity.performCreate(Activity.java:5104)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
05-19 00:56:14.100: E/AndroidRuntime(2422):     ... 11 more
05-19 00:56:14.100:E/AndroidRuntime(2422):致命异常:主
05-19 00:56:14.100:E/AndroidRuntime(2422):java.lang.RuntimeException:无法启动活动组件信息{com.aheadstudios.talkalytics/com.aheadstudios.talkalytics.ViewStatsPrototype}:java.lang.NullPointerException
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.ActivityThread.access$600(ActivityThread.java:153)
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.os.Handler.dispatchMessage(Handler.java:99)上
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.os.Looper.loop(Looper.java:137)上
05-19 00:56:14.100:E/AndroidRuntime(2422):位于android.app.ActivityThread.main(ActivityThread.java:5227)
05-19 00:56:14.100:E/AndroidRuntime(2422):位于java.lang.reflect.Method.Invokenactive(本机方法)
05-19 00:56:14.100:E/AndroidRuntime(2422):位于java.lang.reflect.Method.invoke(Method.java:511)
05-19 00:56:14.100:E/AndroidRuntime(2422):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
05-19 00:56:14.100:E/AndroidRuntime(2422):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
05-19 00:56:14.100:E/AndroidRuntime(2422):在dalvik.system.NativeStart.main(本机方法)
05-19 00:56:14.100:E/AndroidRuntime(2422):由以下原因引起:java.lang.NullPointerException
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.graphics.Canvas.drawCircle(Canvas.java:961)上
05-19 00:56:14.100:E/AndroidRuntime(2422):在com.aheadstudios.talkalytics.MultiStatsData.commonSetup(MultiStatsData.java:68)
05-19 00:56:14.100:E/AndroidRuntime(2422):在com.aheadstudios.talkalytics.MultiStatsData。(MultiStatsData.java:50)
05-19 00:56:14.100:E/AndroidRuntime(2422):在com.aheadstudios.talkalytics.ViewStatsPrototype.setupMultiStatsData(ViewStatsPrototype.java:48)
05-19 00:56:14.100:E/AndroidRuntime(2422):位于com.aheadstudios.talkalytics.ViewStatsPrototype.onCreate(ViewStatsPrototype.java:43)
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.Activity.performCreate(Activity.java:5104)上
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)上
05-19 00:56:14.100:E/AndroidRuntime(2422):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
05-19 00:56:14.100:E/AndroidRuntime(2422):。。。还有11个
mPaint=new Paint()

然后,代替条形图。绘制(c)


钢筋.立根拉深(新拉深(b))

@Sree但是我需要所有的画布绘制功能,绘制功能似乎只给你一个基本的形状?我要画里面有单词的条形图。好的,看,你初始化了
mPaint
对象了吗?我想它的初始化可能有问题。我放弃了,我只是要创建一个新的自定义视图对象,以便覆盖onDraw。
05-19 00:56:14.100: E/AndroidRuntime(2422): FATAL EXCEPTION: main
05-19 00:56:14.100: E/AndroidRuntime(2422): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aheadstudios.talkalytics/com.aheadstudios.talkalytics.ViewStatsPrototype}: java.lang.NullPointerException
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.access$600(ActivityThread.java:153)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.os.Looper.loop(Looper.java:137)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.main(ActivityThread.java:5227)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at java.lang.reflect.Method.invokeNative(Native Method)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at java.lang.reflect.Method.invoke(Method.java:511)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at dalvik.system.NativeStart.main(Native Method)
05-19 00:56:14.100: E/AndroidRuntime(2422): Caused by: java.lang.NullPointerException
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.graphics.Canvas.drawCircle(Canvas.java:961)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.MultiStatsData.commonSetup(MultiStatsData.java:68)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.MultiStatsData.<init>(MultiStatsData.java:50)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.ViewStatsPrototype.setupMultiStatsData(ViewStatsPrototype.java:48)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at com.aheadstudios.talkalytics.ViewStatsPrototype.onCreate(ViewStatsPrototype.java:43)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.Activity.performCreate(Activity.java:5104)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-19 00:56:14.100: E/AndroidRuntime(2422):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
05-19 00:56:14.100: E/AndroidRuntime(2422):     ... 11 more