Canvas wird in der benutzerdefinierten Ansicht nicht gezeichnet

Ich habe eine benutzerdefinierte Ansicht CircleView wie folgt erstellt:

public class CircleView extends LinearLayout {

    Paint paint1;
    public CircleView(Context context) {
        super(context);
        init();
    }   
    public CircleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
    public void init() {
        paint1 = new Paint();
        paint1.setColor(Color.RED); 
    }       
    protected void onDraw(Canvas canvas) {
        //super.onDraw(canvas);         
        canvas.drawCircle(50, 50, 25, paint1);
        this.draw(canvas);  
    }
}

Dann habe ich es in das Layout-Stammverzeichnis meiner Aktivität aufgenommen<RelativeLayout>:

  <com.turkidroid.test.CircleView
      android:id="@+id/circle_view"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" 
      android:layout_centerInParent="true"  />  

Es wurde jedoch nichts gezeichnet!

Implementiere ich die benutzerdefinierte Ansicht richtig?Oder habe ich die benutzerdefinierte Ansicht so verwendet?

Einige Infos:

Sowohl CircleView als auch MyActivity sind im selben Paket enthalten:com.turkidroid.test.ImonDraw() Methode habe ich auch versuchtsuper.onDraw() und kommentieren es.Ich weiß, dass ich einen Kreis mit viel einfacheren Ansätzen zeichnen kann als mit meiner CircleViewwerden Enthält mehr als das Zeichnen eines Kreises. Ich muss eine benutzerdefinierte Ansicht erstellen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage