EditText の背景にいくつかの線を描画しようとしています。
EditText をサブクラス化し、xml レイアウトに完全修飾パッケージ名を含めて、以前の EditText 宣言を置き換えました。
次に、onDraw(); を実装しました。しかし、何が起こっているかというと、onDraw が無限ループで何度も呼び出されているように見えるだけです。
無限再帰を起動しているのかもしれないと思ったので、ログ メッセージ以外はすべてコメントアウトしましたが、まだ発生しています。
ここで何が起こっているのですか?
package myview;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.EditText;
public class LinedEditView extends EditText {
public LinedEditView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public LinedEditView(Context context) {
super(context);
}
public LinedEditView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
/////// KEEPS GETTING CALLED !!!!!!??????? ////////////
protected void onDraw(Canvas canvas) {
Log.d("LinedEditView", "Calling onDraw()");
super.onDraw(canvas);
}
}