super.XXX()方法的使用位置问题 唉。。建议参考源代码。其实super也没有那么神秘啦,这是由他们内部的实现所决定的。你看了源代码就清楚原因了。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那请问最后super.XXX()放在最后的作用是什么啊?谢谢... 你用的这个super.onSizeChanged的作用在后面和你说好了。首先,如果super.xxx放在最前面,很可能是因为基类里面做了很多初始化的事情,如果这些事情不先做掉,你后面的调用会出现问题,所以必须放在前面。当然,还可能会有其他原因,这个要从全局来看。而super.xxx放在后面,原因比较多:1. 只是希望在super.xxx被调用时,做一些其他事情。这时候就会把想做的事情,例如log或者什么的,放在super.xxx的前面,因为如果放在后面的话,可能时机就错掉了(当然,有些时候就需要放在后面,也是log的情况。。这个顺序全看需求了。)2. 需要提前修改super.xxx所需的一些参数。这时候就要在前面做掉。3. super.xxx可能会修改某些参数,所以要在super.xxx被调用之前先把这些参数用掉。放前放后,原因是多种多样的,其实我说这个要看源代码的原因就在于这里了。一般平时写代码的时候,也会遇到是先调用基类的xxx方法还是后调用的问题,这里是一样的原因嘛。 你这边的super.onSizeChanged,看起来像第一种。就是为了记录一些值。其实这里就是一个函数调用的顺序问题,应该完全采用“过程式”思考,可能会更清晰一点。原则就是保持你的变量,在被使用的位置,是应该正确的值,就可以了。 哦,明白了,保护变量。就我贴出来的代码的话,我感觉这个super.onSizeChanged()可有可无,因为super.onSizeChanged()中的参数都是基本类型,super.XXXX()里面再折腾出了super.XXXX()方法后也不可能改变这些值。对于这样的可有可无的super.XXX()方法,什么时候该写什么时候不该写,有什么建议吗?谢谢 ch1oE 呵呵,谢谢你了。按你的提示,我下了源代码后看了本super.XXXX()方法是空函数,我想确实是可有可无的。 怎么变更右键事件? 播放rtsp媒体,如何让mediaplayer pause rtsp 拖拽效果 ProgressBar 有停止、销毁等操作吗? 關於Fragment使用Tab 这个android按钮效果怎么实现 android4.2关于BroadcastReceiver获取短信广播事件问题 请教:下图的xml怎么解析并把数据放到listview里 Android锁屏 这是什么情况啊 模拟器闪退 有大佬知道吗 彩信的问题 哇, Android!千呼万唤始出来!
那请问最后super.XXX()放在最后的作用是什么啊?
谢谢...
1. 只是希望在super.xxx被调用时,做一些其他事情。这时候就会把想做的事情,例如log或者什么的,放在super.xxx的前面,因为如果放在后面的话,可能时机就错掉了(当然,有些时候就需要放在后面,也是log的情况。。这个顺序全看需求了。)
2. 需要提前修改super.xxx所需的一些参数。这时候就要在前面做掉。
3. super.xxx可能会修改某些参数,所以要在super.xxx被调用之前先把这些参数用掉。
放前放后,原因是多种多样的,其实我说这个要看源代码的原因就在于这里了。
一般平时写代码的时候,也会遇到是先调用基类的xxx方法还是后调用的问题,这里是一样的原因嘛。
其实这里就是一个函数调用的顺序问题,应该完全采用“过程式”思考,可能会更清晰一点。
原则就是保持你的变量,在被使用的位置,是应该正确的值,就可以了。
就我贴出来的代码的话,我感觉这个super.onSizeChanged()可有可无,因为super.onSizeChanged()中的参数都是基本类型,super.XXXX()里面再折腾出了super.XXXX()方法后也不可能改变这些值。对于这样的可有可无的super.XXX()方法,什么时候该写什么时候不该写,有什么建议吗?
谢谢 ch1oE
呵呵,谢谢你了。
按你的提示,我下了源代码后看了本super.XXXX()方法是空函数,我想确实是可有可无的。