2

onSelectionChanged(int start、int end)メソッドをオーバーライドするために、MyEditText(EditTextを拡張)というカスタム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

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 に答える