コード public class MainActivity extends Activity implements Runnable{ private Handler mHandler = new Handler(); CanvasView cv = new CanvasView(this); @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setContentView(cv); mHandler.postDelayed(this, 1000); } public void run(){ cv.x += 5; cv.y += 5; setContentView(cv); mHandler.postDelayed(this, 1000); } }
コード public class CanvasView extends View{ Paint paint = new Paint(); int x, y = 50; int r = 10; public CanvasView(Context context) { super(context); } public void onDraw(Canvas canvas){ paint.setColor(Color.BLUE); paint.setStyle(Paint.Style.FILL); paint.setAntiAlias(true); canvas.drawCircle(x, y, r, paint); } }
円を動かすプログラムを作ろうと思い、上記のようなプログラムを作りました。
エラーはないのですが、エミュレーターで実行すると「問題が発生したため、○○を終了します」とでて終わってしまいます。
プログラムがおかしいからなのだとは思うのですが、
何が原因なのでしょうか?
LogCatの内容
error opening trace file: No such file or directory (2)
setTargetHeapUtilization:0.25
setTargetHeapIdealFree:8388608
setTargetHeapConcurrentStart:2097152
Shutting down VM
threadid=1: thread exiting with uncaught exception (group=0x40b4a450)
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.fireworks/com.example.fireworks.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1994)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095)
at android.app.ActivityThread.access$600(ActivityThread.java:137)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:4786)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ContextWrapper.getResources(ContextWrapper.java:81)
at android.view.View.<init>(View.java:3284)
at com.example.fireworks.CanvasView.<init>(CanvasView.java:17)
at com.example.fireworks.MainActivity.<init>(MainActivity.java:12)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1985)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/26 04:44
2016/03/26 05:31
2016/03/28 04:17
2016/03/28 04:35
2016/03/28 04:50
2016/03/28 04:58
2016/03/28 05:07
2016/03/28 05:12
2016/03/28 05:30
2016/03/28 05:36
2016/03/28 05:44 編集
2016/03/28 05:40
2016/03/28 05:55
2016/03/28 06:06
2016/03/28 06:14 編集
2016/03/28 06:20
2016/03/28 06:28
2016/03/28 06:45