【问题标题】:using a derived class in layout.xml in Android在 Android 的 layout.xml 中使用派生类
【发布时间】:2013-04-08 10:12:56
【问题描述】:

我正在尝试在 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 中使用这个自定义对象? 如果我只创建一个普通的 ToggleButton 并尝试

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" />

但应用程序在放在设备上时仍会意外停止。我错过了什么?

【问题讨论】:

    标签: android android-layout android-widget


    【解决方案1】:

    尝试使用:

    <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" />
    

    【讨论】:

    • 我还需要使用class属性吗?还有一般,class属性有什么用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    相关资源
    最近更新 更多