十三年专注于网站建设与互联网应用开发,低调、有情怀的网络应用服务商!
南昌百恒科技微信公众号 扫一扫关注
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒科技微信公众号

实现fragment生命周期的方法

百恒 2017-05-12 16:21:02 3115
       今天,南昌网络公司-百恒网络给大家介绍一下实现fragment生命周期的方法,供大家参考、学习,希望对大家有所帮助。
       CrimeFragment类是与模型及视图对象交互的控制器,用于显示特定crime的明细信息,并在用户修改这些信息后立即进行更新。

       在GeoQuiz应用中,activity通过其生命周期方法完成了大部分逻辑控制工作。而在CriminalIntent应用中,这些工作是由fragment的生命周期方法完成的。fragment的许多生命周期方法对应着我们熟知的Activity方法,如onCreate(Bundle)方法。
       在CrimeFragment.java中,新增一个Crime实例成员变量,实现Fragment.onCreate(Bundle)方法,如下代码清单所示。
       覆盖Fragment.onCreate(Bundle)方法(CrimeFragment.java)
       public class CrimeFragment extends Fragment {
       private Crime mCrime;
       @Override
       public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       mCrime = new Crime();
       }
       }
       需注意以上实现代码中的以下几点:
       首先,Fragment.onCreate(Bundle)是公共方法,而Activity.onCreate(Bundle)是保护方法。Fragment.onCreate(...)方法及其他Fragment生命周期方法必须是公共方法,因为托管fragment的activity要调用它们。
       其次,类似于activity,fragment同样具有保存及获取状态的bundle。如同使用Activity.onSaveInstanceState(Bundle)方法那样,我们也可以根据需要覆盖Fragment.onSave-InstanceState(Bundle)方法。
       另外, fragment的视图并没有在Fragment.onCreate(...)方法中生成。虽然我们在Fragment.onCreate(...)方法中配置了fragment实例,但创建和配置fragment视图是另一个fragment生命周期方法完成的:
       public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
       该方法实例化fragment 视图的布局, 然后将实例化的View 返回给托管activity 。
       LayoutInflater及ViewGroup是实例化布局的必要参数。Bundle用来存储恢复数据,可供该方法从保存状态下重建视图。
       在CrimeFragment.java中,添加onCreateView(...)方法的实现代码,从fragment_crime.xml布局中实例化并返回视图,如下代码所示。
       覆盖onCreateView(...)方法(CrimeFragment.java)
       public class CrimeFragment extends Fragment {
       private Crime mCrime;
       @Override
       public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       mCrime = new Crime();
       }
       @Override
       public View onCreateView(LayoutInflater inflater, ViewGroup container,
       Bundle savedInstanceState) {
       View v = inflater.inflate(R.layout.fragment_crime, container, false);
       return v;
       }
       }
       在onCreateView(...) 方法中, fragment 的视图是直接通过调用LayoutInflater.inflate(...)方法并传入布局的资源ID生成的。第二个参数是视图的父视图,我们通常需要父视图来正确配置组件。第三个参数告知布局生成器是否将生成的视图添加给父视图。这里,我们传入了false参数,因为我们将以activity代码的方式添加视图。
       关于实现fragment生命周期的方法,百恒网络今天就讲到这里,了解更多关于南昌APP开发、网站建设、微信开发、电商购物网站开发、网络营销等方面的资讯,欢迎访问百恒网络网站,网址:http://www.nczwz.com/,或者来电咨询百恒网络,十多年资深建站经验,值得信赖!
400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
备案专线 备案专线
 
售后服务 售后服务
 
×