Android 拾遗

1. Activity的setContentView(int)方法,其实是这样的:


publicvoidsetContentView(intlayoutResID) {


getWindow().setContentView(layoutResID);

}


   getWindow()方法是返回自PolicyManager.makeNewWindow()方法


   “mWindow = PolicyManager.makeNewWindow(this)”


   这样获取的一个Window对象,由于Window是个抽象类,唯一的基础是PhoneWindow,所以查找到PhoneWindow的setContentView(int)方法:

publicvoidsetContentView(intlayoutResID) {
if ( == null) {
} else {
 }
finalCallbackcb = getCallback();
if (cb != null && !isDestroyed()) {
 }
}


所以最后Activity中还是调用了LayoutInflater.inflate()方法。

Android 拾遗,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。