android特别神奇的现象,请大神解释一下

我创建了两个页面,一个mainactivity,一个secondactivity,我在mainactivity中引入
它本身对应的布局,在mainactivity中竟然可以通过findbyid找到secondactivity布局文件
中定义的组件,为什么会这样???

在gen目录下有个R.JAVA,所有的组件都会在其中进行注册,findbyid就是通过在R文件里面找到对应组件的地址的。你可以打开看看研究一下

资源文件是全体公有的。

即使你能findViewById得到这个组件,。,你运行的之后就会发现报空指针。。。。

你可以用Inflater.Inflate()创建一个View管理布局文件。这样获取资源的时候可以用view.findViewById()获取资源。这样你可能觉得不变扭,但是你项目中所有资源文件都在R.java文件中,实际上跟你直接获取是一样的。

找到很正常啊,运行就会报错的了

你组建的id取得一样,id一样,和样写没有错误,只要layout.mainactivity对就行,木有关系