以前に投稿されたこのエラーを見たことがありますが、どの回答も問題を解決していないように見えるため、何が起こっているのかよくわかりません。xml でクラスを膨張させようとすると失敗します。
XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#EEE"
>
<android.view.SurfaceView
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</android.view.SurfaceView>
<com.commonsware.android.picture.PictureDemo.DrawOnTop
android:id="@+id/grid"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</com.commonsware.android.picture.PictureDemo.DrawOnTop>
</FrameLayout>
クラス:
class DrawOnTop extends View
{
public DrawOnTop(Context context)
{
super(context);
}
public DrawOnTop(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public DrawOnTop(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas)
{
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.BLACK);
canvas.drawText("Test Text", 10, 10, paint);
canvas.drawBitmap(bitmap, 0, 0, null);
super.onDraw(canvas);
}
}
エラー:
02-11 16:06:25.456: E/AndroidRuntime(11717): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class com.commonsware.android.picture.PictureDemo.DrawOnTop
私はすべてのコンストラクターを持っていますが、他に問題はありません。何が欠けていますか?