A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

杨过悔

初级黑马

  • 黑马币:13

  • 帖子:7

  • 精华:0

© 杨过悔 初级黑马   /  2014-6-2 19:52  /  780 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(new Custview(this));

        }
        class Custview extends View{
                Paint paint = new Paint();

                public Custview(Context context) {
                        super(context);
                         test();
                }

                @Override
                protected void onDraw(Canvas canvas) {
                        // TODO Auto-generated method stub
                        paint.setColor(Color.RED);
                        paint.setStrokeWidth(5);       

                        canvas.drawCircle(100, 100, 90, paint);
                }
                void test(){
                        System.out.println("Test");
                        Toast.makeText(MainActivity.this, "Test", 1).show();
                }
               
        }
}
刚学玩安卓,api的问题真多,所以来这救助高手
class Custview extends View是mainactivity的内部类,
其继承了view对象,这个好理解,可是
setContentView(new Custview(this));
这句代码是怎么去调用class Custview里的onDraw呢?
我的猜想是view里的构造器调用了view里的onDraw方法,不知对不对?谢谢

1 个回复

倒序浏览
public class UseFile{                           public static void main(String[] args){                  new b().testb();                  }  } class a{    public a(){    testa();    }    void testa(){    System.out.print("aaaa");   } } class b extends a{    public b(){       super();    }    void testb(){    System.out.print("bbbb");    }    void testa(){    System.out.print("aabb");   } }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马