-1
我是新來的android編程,並試圖在屏幕上畫一個圓圈。最終我想讓這個圈子四處移動。但現在我一直無法讓圈子畫畫。當我運行的代碼,它給了我一個錯誤:麻煩畫圈到屏幕
"Attempt to invoke virtual method 'long android.graphics.Paint.getNativeInstance()' on a null"
我的代碼:
package com...
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
class MyView extends View {
private Bitmap b;
public Paint p;
public MyView(Context context) {
super(context);
Paint p = new Paint();
p.setColor(Color.GREEN);
b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawCircle(50, 50, 10, p);
}
}
}
你再重新聲明在構造方法中的油漆,並且您沒有在onDraw方法中進行初始繪製。所以請在你的構造方法中初始化p。 –