Fragment基础问题,看了很多资料还是有疑问(真的很简单)

Coutel 2017-01-11 01:48:58
RT,资料看了一堆..N个人写的有N个版本,好多矛盾的地方,实在发晕,下面代码。
public class newFragment extends Fragment
{
//重写
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState)
{
//问题1:上面的第二个参数,传进来的ViewGroup对象,这个ViewGroup对象是谁的?是使用这个Fragment的那个布局的吗?


//略

return inflater.inflate(R.Layout.newFragment_1,container,false);

//问题2:上面inflate方法的第三个参数,如果是true,会怎么样?如果是false,又会怎么样?求个容易懂的解释。
}
...全文
292 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coutel 2017-01-11
  • 打赏
  • 举报
回复
OKOK,感谢大家的回复 1. 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。 2. 如果root不为null,attachToRoot设为true,则会给加载的布局文件的指定一个父布局,即root。 3. 如果root不为null,attachToRoot设为false,则会将布局文件最外层的所有layout属性进行设置,当该view被添加到父view当中时,这些layout属性会自动生效。 4. 在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。 找到了这个http://blog.csdn.net/guolin_blog/article/details/12921889 当然还是要感谢楼上的帮助。
m0_liguijun 2017-01-11
  • 打赏
  • 举报
回复
container 是父容器 如果不为空 inflater.inflate(R.Layout.newFragment_1,container,true); 会被添加到父容器中。 inflater.inflate(R.Layout.newFragment_1,container,false); 不会添加到父容器中。
Coutel 2017-01-11
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
container 是父容器 如果不为空 inflater.inflate(R.Layout.newFragment_1,container,true); 会被添加到父容器中。 inflater.inflate(R.Layout.newFragment_1,container,false); 不会添加到父容器中。 你可以试试。
这个container,指的是不是使用了这个Fragment那个布局的 ViewGroup
Birds2018 2017-01-11
  • 打赏
  • 举报
回复
container 是父容器 如果不为空 inflater.inflate(R.Layout.newFragment_1,container,true); 会被添加到父容器中。 inflater.inflate(R.Layout.newFragment_1,container,false); 不会添加到父容器中。 你可以试试。

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧