Androidアプリ開発
Androidアプリを開発しているのですが、
エミュレータ、実機ともに実行するとプログラムが反映されておりません。
以下のソースを実行すると、
「Hello World!」のみ表示されます。
原因がわからないので、ご教授願えませんでしょうか。
【ソース】
package sib.stringex;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class StringEx extends Activity{
@Override
public void onCreate(Bundle bundle){
super.onCreate(bundle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new StringView(this));
}
}
package sib.stringex;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class StringView extends View {
public StringView(Context context){
super(context);
setBackgroundColor(Color.WHITE);
}
@Override
protected void onDraw(Canvas canvas){
Paint paint= new Paint();
paint.setAntiAlias(true);
paint.setTextSize(24);
paint.setColor(Color.rgb(0, 0, 0));
canvas.drawText("画面サイズ:"+ getWidth()+ "X"+getHeight(), 0, 60, paint);
canvas.drawText("文字幅:"+(int)paint.measureText("A"), 0, 60*2, paint);
canvas.drawText("アセント"+(int)paint.ascent(), 0, 60*3, paint);
canvas.drawText("ディセント"+(int)paint.descent(), 0, 60*4, paint);
paint.setTextSize(24);
paint.setColor(Color.rgb(255, 0, 0));
canvas.drawText("24dot", 0, 60*5, paint);
paint.setTextSize(32);
paint.setColor(Color.rgb(0, 255, 0));
canvas.drawText("32dot", 0, 60*6, paint);
paint.setTextSize(48);
paint.setColor(Color.rgb(0, 0, 255));
canvas.drawText("32dot", 0, 60*7, paint);
}
}
お礼
good-failure様のご指摘のように変更しましたが今度は強制終了の画面は出ずに何も表示されないままでした。 >テキストを表示したいならStringなりにして渡さないといけません。 を頼りに自分なりに調べたところint値をStringに変換する方法を発見し以下のように変更したところうまくいきました。 ----------------------------------------- package in.andante.android.CalAppli; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; public class CalAppliActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); int i1; int i2; int i3; String s1; i1 = 1; i2 = 2; i3 = i1+i2; s1 = String.valueOf(i3); tv.setText(s1); setContentView(tv); } } お手数おかけしました。ありがとうございました。 またよろしくお願い致します。