2013-04-08 23 views
3

我想在Android應用程序中實現派生類。 該類是從ToggleButton小部件派生而來的。它看起來像這樣:在Android的layout.xml中使用派生類

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

,但在設備上投入的時候,應用程序仍然意外停止。我錯過了什麼?使用

回答

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

我還需要使用類屬性?一般來說,類屬性的用途是什麼? – 2013-04-08 10:39:02

+0

@AdwaitDongare號 – 2013-04-08 10:40:20