Android:当视图已从xml实例化时,重写onDraw而不进行子类化

Android:当视图已从xml实例化时,重写onDraw而不进行子类化,android,ondraw,anonymous-inner-class,Android,Ondraw,Anonymous Inner Class,我有一个类ConditionalEditText,它是一个包含EditText和TextView的复合自定义视图。此视图的布局是用XML定义的。我想重写EditText的onDraw方法。但由于它是从XML实例化的。我不能做这样的事 EditText edt = new EditText() { protected void onDraw() { .... } } 除了对EditText进行子分类或使用Java而不是XML进行UI实例化之外,还有什么方法可以重写

我有一个类ConditionalEditText,它是一个包含EditText和TextView的复合自定义视图。此视图的布局是用XML定义的。我想重写EditText的onDraw方法。但由于它是从XML实例化的。我不能做这样的事

EditText edt = new EditText() {
    protected void onDraw() {
        ....
    }
}

除了对EditText进行子分类或使用Java而不是XML进行UI实例化之外,还有什么方法可以重写onDraw()方法吗?

您应该重写EditText,然后用XML实例化您自己的自定义EditText:

public class CustomEditText extends EditText {
    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void onDraw() {
        // your code
    }
}
对于xml实例化:

<com.android.example.CustomEditText
    ...
/>


有关更多信息,请参阅官方文档:

我知道我总能做到这一点。我想知道的是,是否可以像我在问题中提到的那样,使用匿名内部类重写该方法。对不起,我没有看到最后一部分。我认为不扩大课程范围是不可能的