android Activity和Fragment创建视图的不同

来源:互联网 发布:java开发广告发布系统 编辑:程序博客网 时间:2024/06/06 15:42


1.Activity控件或FragmentActivity控件创建视图是使用 setContentView( R.layout.activity_fragment )之类的方法。

其中,R.layout.activity_fragment 是xml文件定义的资源视图的 Id。

然后调用如下的代码段来贴上视图:

<span style="white-space:pre"></span>@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_fragment);//设置资源IDFragmentManager fm=getSupportFragmentManager(); //获取系统FragmentManager()Fragment fragment=fm.findFragmentById(R.id.fragmentContainer);if(fragment==null){fragment=createFragment(); //初始化时 fragment 会是空的,则创建一个fragmentfm.beginTransaction().add(R.id.fragmentContainer,fragment).commit();//把新的Fragment贴到xml文件内容上}}



2. Fragment 或 ListFragment 控件创建时,先调用 void onCreate( Bundle savedInstanceState ) 函数做初始化工作,然后调用View onCreateView(LayoutInflater inflater,ViewGroup parent,Bundle savedInstanceState) 函数创建一个View ,做相关处理后 return 这个View:

@Overridepublic View onCreateView(LayoutInflater inflater,ViewGroup parent,Bundle savedInstanceState){View v=super.onCreateView(inflater, parent, savedInstanceState);Log.d(TAG,"onCreateView: mSubtitleVisible="+mSubtitleVisible);if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB){if(mSubtitleVisible){getActivity().getActionBar().setSubtitle(R.string.subtitle);Log.d(TAG,"onCreateView: setSubtitle() called");}}return v;}


0 0