这个是我自定义的View
package android.sdk;import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.View;public class CusRect extends View
{
public CusRect(Context context)
{
super(context);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);

Rect r = new Rect(0, 0, 30, 60);
Paint paint = new Paint();
paint.setColor(0xffff00ff);
canvas.drawRect(r, paint); }
}
XML文件!<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />    <android.sdk.CusRect
        android:id="@+id/myView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" /></LinearLayout>运行的时候总是出现这个错误:
11-24 09:10:39.577: E/AndroidRuntime(681): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.sdk/android.sdk.MyDiyViewActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class android.sdk.CusRect但检查时也没发现啥错误,各位,能抽空看下吗?

解决方案 »

  1.   

    构造方法的问题。 public CusRect(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
    }你需要了解下AttributeSet
      

  2.   

    你先把能重写的构造方法全写上,里面就放个super就行,运行看看,然后有问题再说,还有
    传异常的时候把Cause by后面的异常贴上来,Runtime的就不用了。