===========================第五章===========================
Android中的事件处理机制:
事件委托模型:事件源、事件处理器
事件源一般为Android中的控件。事件处理器一般为Android提供的接口
嵌套类:也叫内部类,就是在其他类里面的类
内部类里面可以有自己的全局变量,构造函数,方法
普通内部类:
内部类的创建需要依赖于外部类对象,通过外部类对象来new
如:Outer1.Inner in = new Outer1().new Inner();
在内部类中,如果有和外部类同名的变量或者方法,那么优先选择调用内部类中的方法,可以通过制定方法去调用外部类的变量或者方法,指明写法如下:
外部类名.this.外部类方法------调用外部类中的方法
外部类名.this.外部类变量------使用外部类中的变量
在外部类中,调用内部类的属性或者方法,通过内部类对象来调用。
静态内部类:
静态内部类不需要依赖于外部类对象,可以通过 外部类名.内部类名() 的方式创建内部类对象
如:Outer2.Inner in =new Outer2.Inner();
静态内部类中不能调用外部类的非静态方法或者变量
静态内部类中的静态方法可以直接调用,不需要内部类对象
调用方法:外部类名.内部类名.方法名/属性名
如:Outer2.Inner.i;
方法中的局部变量需要声明成final类型的。在可以在内部类中调用
Android中为按钮添加事件处理器
步骤: 1.通过findViewById实例化需要添加事件处理器的组件
2.创建一个内部类实现OnClickListener接口。View包下,重写自动生成的方法,这个方法就是事件触发时,调用的方法。
3.为控件添加内部类对象作为事件处理器
setOnClikListener();
使用匿名内部类的方法为控件添加监听:
1 bt_exit.setOnClickListener(new OnClickListener() { 2 3 @Override 4 public void onClick(View v) { 5 // TODO Auto-generated method stub 6 FirstActivity.this.finish(); 7 } 8 });
原文:http://www.cnblogs.com/starman/p/4985870.html