0

我有一个关于覆盖方法的问题。当我实例化一个视图时,我有 2 个选项。

1.以编程方式实例化视图。

View view = new View( .... ){
      onDraw(){

         .......
      }

 };

2.从布局实例化视图。

View view = findViewbyid(...){

        onDraw(){
           .......
        }
};

我的问题是,是否有可能覆盖第二个选项中所示的方法。?

感谢和问候,

沙。

4

2 回答 2

3

不,第二个选项是不可能的。但是,您可以创建自定义类extends View并覆盖您想要的任何内容。

于 2012-09-19T11:14:30.510 回答
2

不,你不能用第二个选项来做。当您使用时,findViewById您已经在实例化原生 Android View 类,它会调用构造函数: public View (Context context, AttributeSet attrs). 您必须创建自定义视图并在那里覆盖实现 onDraw(Canvas canvas)以适应您的需求。

于 2012-09-19T11:23:34.380 回答