在学习《Android编程权威指南》P124页的时候,遇到了这样的代码:
引起了我的疑问if的判断条件是(fragment==null),那执行完上一句 Fragment Fragment=fm.findFragmentById(R.id.fragmentContainer); fragment的值到底是什么呢?通过debug,我发现其实执行完 Fragment fragment=fm.findFragmentById(R.id.fragmentContainer);fragment的值就是null的,为什么会这样呢?参考谷歌的这个方法官方文档,有这样的两句话:Finds a fragment that was identified by the given id either when inflated from XML or as the container ID when added in a transaction. .......... Returns:The fragment if found or null otherwise.(因为我们没有在这个Activity的布局XML文件里面定义fragment,也没有用FragmentManager把fragment添加进来,所以这个方法是找不到对应的fragment,返回值自然就是null了)