3

Android アプリに派生クラスを実装しようとしています。クラスは ToggleButton ウィジェットから派生します。次のようになります。

public class ButtonController extends ToggleButton implements OnClickListener{

    private boolean enabled;
    private boolean on;

    public ButtonController(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        enabled =false;
    }

    public void setEnabled(boolean en){
        enabled=en;
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(enabled == true)
            on=!on;
    }
}

しかし、layout.xml でこのカスタム オブジェクトを使用するにはどうすればよいでしょうか。通常のトグルボタンだけを作成して試してみると

ButtonController b1 = (ButtonControllerfindViewByI(R.id.button1);

アプリケーションがクラッシュするだけです。

また、次のように layout.xml でオブジェクトを作成しようとしました。

<ToggleButton
                    class = "com.example.testv1.ButtonController"
                    android:id="@+id/Button1"
                    android:layout_width="100sp"
                    android:layout_height="50sp"
                    android:textOn="Button 1 On"
                    android:textOff="Button 1 Off" />

ただし、デバイスに配置すると、アプリケーションは予期せず停止します。私は何を取りこぼしたか?

4

1 に答える 1

2

使用してみてください:

<com.example.testv1.ButtonController
    android:id="@+id/Button1"
    android:layout_width="100sp"
    android:layout_height="50sp"
    android:textOn="Button 1 On"
    android:textOff="Button 1 Off" />
于 2013-04-08T10:14:17.270 に答える