我一直想知道为什么要将布局资源传递到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();
}
我认为差别不大