初入android开发的使用,最早熟悉的,恐怕就是findViewById和SetOnClickListener,当然,有时候我们为了偷懒,不去findViewById,而是直接在布局文件中写android:OnClick="方法名",然后在Activity中对应的方法,一样也好使。不过,这样背后的原理是什么呢。这值得我们去格一格。
打开View的源码,翻到构造函数里,可以看到,View通过TypedArray实例化加载布局文件,然后循环设置属性(这就是经常说布局不宜太深,视图元素不能太多的原因)。
直接翻到有关android:OnClick相关的代码,可以看到如下:
如果视图组件设置了android:OnClick属性,那么就设置他的OnClickListener为一个DeclaredOnClickListener实例。