将setContentView与布局资源和视图一起使用的区别



我一直想知道为什么要将布局资源传递到setContentView((方法中,我不确定我是否完全理解它的作用。我所知道的是,我可以直接传递布局资源文件,或者简单地在膨胀后传递视图

案例1:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

案例2:

super.onCreate(savedInstanceState);  
View activity = View.inflate(MainActivity.this, R.layout.activity_main, null);  
setContentView(activity);

但这两种情况有什么不同?它们是否相似,或者setContentView是否像我在案例2中所做的那样,在场景后面自动膨胀案例1中的布局资源文件?

如果你看到setContentView结构,你会发现它是

@Override
public void setContentView(int resId) {
ensureSubDecor();
ViewGroup contentParent = mSubDecor.findViewById(android.R.id.content);
contentParent.removeAllViews();
LayoutInflater.from(mContext).inflate(resId, contentParent);
mAppCompatWindowCallback.getWrapped().onContentChanged();
}

我认为差别不大

相关内容

  • 没有找到相关文章

最新更新