在Android中使用layout.xml中的派生类
我正在尝试在Android应用程序中实现一个派生类。 该类派生自ToggleButton小部件。它看起来像这样:在Android中使用layout.xml中的派生类,android,android-layout,android-widget,Android,Android Layout,Android Widget,我正在尝试在Android应用程序中实现一个派生类。 该类派生自ToggleButton小部件。它看起来像这样: public class ButtonController extends ToggleButton implements OnClickListener{ private boolean enabled; private boolean on; public ButtonController(Context context) { supe
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" />
但应用程序在安装到设备上时仍会意外停止。我错过了什么?尝试使用:
<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属性的用途是什么?