1

単純な拡張ビュークラスを記述します。コードは次のとおりです。

public class MyView extends View
 {

   public MyView(Context context)
    {
        super(context);
    }

     public MyView(Context context, AttributeSet attrs) {
         super(context, attrs);
         // TODO Auto-generated constructor stub
     }

    protected void OnDraw(Canvas canvas)
     {
         super.onDraw(canvas);
     }
 }

XML:
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >


       <com.main.sufaceview.MyView
            android:id="@+id/myview"
            android:layout_width="300dp"
            android:layout_height="300dp"
            android:background="@drawable/tt"/>  

</RelativeLayout>

仮想マシンに入るとき。それは内訳を示しています: ここに画像の説明を入力してください

なんでこれ?カスタムビューは非常に簡単なはずです。他のコードを追加しなかったので、エラーが発生しました。編集:logcatは次を表示します: ここに画像の説明を入力してください

4

1 に答える 1

1

少なくとも、他の投稿で読んだものは、別のコンストラクターが必要だと思います。

public MyView(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);
}
于 2012-11-13T09:54:22.940 に答える