2013-07-31 49 views
0

我有一個類ConditionalEditText,它是一個包含EditText和TextView的複合自定義視圖。這個視圖的佈局是用XML定義的。我想重寫EditText的onDraw方法。但是因爲它已經從XML實例化了。我不能這樣做Android:重寫onDraw沒有子類時,從xml實例化View

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

有什麼辦法來覆蓋比sublclassing的EditText或做UI實例其他的onDraw()方法的Java,而不是XML?

回答

0

您應該重寫的EditText然後實例自己的自定義的EditText在XML:

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

    public void onDraw() { 
     // your code 
    } 
} 

FOR XML實例:

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

欲瞭解更多信息,請參見官方文檔:http://developer.android.com/guide/topics/ui/custom-components.html#modifying

+0

我知道我總是可以做到這一點。我想知道的是,我是否可以使用匿名內部類來重寫方法,就像我在問題中提到的那樣。 – iTwenty

+0

對不起,我沒有看到最後一部分。我認爲不擴展課程是不可能的 – buzeeg