0

Android でアプリケーションを開発していますが、問題があります。私は2つのクラスAとBを持っています.それらのコードは以下のとおりです(例):

public class A extends View {
//declaration of constructors
...
    public class B extends Button {
    //declaration of constructors
    }
}

クラス B のデザイナーを xml に追加しようとしましたが、エラーが発生し、何も追加されません。

<com.example.myproject.A.B
android:is="@+id/B1"
android:layout_wight="100dp"
android:layout_height="100dp"
.../>

考えられるエラーと、上記のように xml のデザイナでエラーのないクラスを作成する方法を教えてください。

4

2 に答える 2

1

のインスタンスを作成するには、そもそもBへの参照が必要になるため、これらのクラスを使用することはできません。クラスをA作成して使用します。BstaticA

<view
   class="com.example.myproject.A$B"
   android:is="@+id/B1"
   android:layout_wight="100dp"
   android:layout_height="100dp"
/>

または、現在のクラス階層を再考します。

于 2013-04-15T11:30:16.653 に答える
1

コードは次のようになります。

public class A extends View {
//declaration of constructors
...
    public static class B extends Button {
    //declaration of constructors
    }
}

そしてレイアウト:

<view class="com.example.myproject.A$B"
    android:id="@+id/B1"
    android:layout_wight="100dp"
    android:layout_height="100dp"
    .../>

ここで最も重要なことは、B内部staticクラスだけでなく、ネストされたクラスであることです。あなたのケースのように、外部クラスのインスタンスがない場合、内部クラスをインスタンス化することはできませんA

于 2013-04-15T11:33:17.813 に答える