2011-05-23 88 views
2

我創建了一個名爲MyEditText(擴展EditText)的自定義EditText對象,以覆蓋onSelectionChanged(int start,int end)方法。當我這樣做並試圖在我的XML佈局中引用這個對象類型時,我總是得到一個錯誤的膨脹類消息。這是我目前有:Android中的自定義EditText:如何在XML佈局中引用?

<cse.intro.networking.security.MyEditText 
    android:layout_width="match_parent" android:id="@+id/editText2" 
    android:layout_height="match_parent" android:text="@string/editTextBoxInit"> 
</cse.intro.networking.security.MyEditText> 

MyEditText.java:

package cse.intro.networking.security; 

import android.content.Context; 
import android.util.Log; 
import android.widget.EditText; 

public class MyEditText extends EditText { 
    private final String tag = "SimpleGUI"; 
    public MyEditText(Context context) { 
     super(context); 
    } 

    @Override 
    public void onSelectionChanged(int selStart, int selEnd) { 
     Log.v(tag, "onSelectionChanged!"); 
    } 

} 

回答

4

此構造函數添加到您的自定義類

public MyEditText(Context context,AttributeSet attr) { 
    super(context,attr); 
    // TODO Auto-generated constructor stub 
} 
+0

我試過這個(並添加其他構造函數),並且我得到一個錯誤,說我需要指定寬度...我正在做的。我試着將開標籤改爲,我得到了膨脹異常。 – loeschg 2011-05-23 16:51:38

+0

啊......想通了我的問題。有太多的右括號>。謝謝! – loeschg 2011-05-23 16:58:04

1

你需要覆蓋的EditText上,如果所有構造函數你想在XML佈局中使用它。

相關問題