2

我创建了一个名为 MyEditText(扩展 EditText)的自定义 EditText 对象,以覆盖 onSelectionChanged(int start, int end) 方法。当我这样做并尝试在我的 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

2 回答 2

5

将此构造函数添加到您的自定义类

public MyEditText(Context context,AttributeSet attr) {
    super(context,attr);
    // TODO Auto-generated constructor stub
}
于 2011-05-23T04:57:17.753 回答
1

如果要在 XML 布局中使用 EditText,则需要覆盖它的所有构造函数。

于 2011-05-23T04:58:12.933 回答