• 締切済み

[android]画面に円が表示されない原因

こんにちは。 以下のサイトを参考に白い画面に赤い円を表示させたいのですが、実際にはエミュレータ上に表示されません。 logcatのエラーもありません。原因と対処方法をご教授ください。 eclipseのバージョンは以下のとおりです。 Eclipse Platform 3.8.0.v20120607-071945-9gF7jI7nG5qByXMVdkhRMWBQlF4PnDCLybDCPQ http://www.hakkaku.net/articles/20091127-594 ★MainActivity.java package com.example.test001_001; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 描画クラスを設定 setContentView(new TestDrawView(getApplication())); } /* 描画用クラス */ class TestDrawView extends View { public TestDrawView(Context c) { super(c); } } // このメソッドで描画を行う protected void onDraw(Canvas c) { // --------- (*1)Check!! c.drawColor(Color.WHITE); Paint p = new Paint(); p.setColor(Color.RED); p.setStyle(Paint.Style.FILL); c.drawCircle(100, 100, 50, p); } }

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

>Caused by: java.lang.InstantiationException: これは、オブジェクトのインスタンスを生成できないときに出るエラーです。 原因ははっきりとは分かりませんが、エミュレータの設定の問題かもしれないし、メモリー不足になったかもしれません。 コード自体は問題ありません。実際にこのコードを実装してエミュレータで実行してみましたが問題ありませんでした。 参考にされたサイトには文字を表示するプログラムもありますが、それはうまくいったんでしょうか?

kwgchrtk
質問者

補足

ご回答ありがとうございます。 以下のことは成功しています。 ・文字の表示(イタリック、文字の大きさ、色、位置の変更、背景に色をつける) ・クリックしても状態が変化しないボタンの表示 ・整数型のデータを単精度浮動小数点型に変換して表示、その逆 現在のところ、以下のことには失敗しています。(スキル不足かもしれませんが) ・図形の描画 ・ボタンをクリックすると画面の状態が変わる、他の画面に切り替わる adt-bundle-windows-x86_64.zipをインストールしたらできないという報告はどのサイトにもないようですが、どうしたらよいのでしょうか。 もし、再インストールの必要があれば、これまでのデータのバックアップと再インストール後のファイルの読み込み方もご教授ください。 宜しくお願い致します。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

OnDrawはTestDrawViewクラスの中です。 /* 描画用クラス */ class TestDrawView extends View { public TestDrawView(Context c) { super(c); } // このメソッドで描画を行う protected void onDraw(Canvas c) { // --------- (*1)Check!! c.drawColor(Color.WHITE); Paint p = new Paint(); p.setColor(Color.RED); p.setStyle(Paint.Style.FILL); c.drawCircle(100, 100, 50, p); } }

kwgchrtk
質問者

補足

ご回答ありがとうございます。 「// このメソッドで描画を行う」の前の}が1つ多かったんですね。 お恥ずかしい話ですが、ここで問題が発生しました。 Caused by: java.lang.InstantiationException: com.example.test001_001.MainActivity Viewクラスを理解していないんだと思います。対処方法をご教授ください。宜しくお願い致します。

関連するQ&A