1

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

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

除了继承 EditText 或进行 UI 实例化是 Java 而不是 XML 之外,还有什么方法可以覆盖 onDraw() 方法?

4

1 回答 1

0

您应该覆盖 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
    ...
/>

更多信息请查看官方文档:http: //developer.android.com/guide/topics/ui/custom-components.html#modifying

于 2013-07-31T09:25:20.600 回答