Android学习随手记--Fragment

来源:互联网 发布:暴走大事件淘宝店名 编辑:程序博客网 时间:2024/06/05 00:22

Fragment是一个会被使用很多的技术,方便,容易做出比较友好的交互。这几天学习使用的一些心得分享一下。

首先是Fragment的函数调用过程,理解这个过程很重要,一些方法必须要在相应的过程执行之后才能被调用。

onAttach() : //调用该方法时Fragment会被连接到它的父Activity上。

onCreate() : //调用该方法来进行Fragment的初始创建。

onCreateView() : //一旦Fragment 已经被创建,要创建它自己的用户界面时调用该方法。

onActivityCreated() : //一旦父Activity和Fragment的UI已经被创建,则调用该方法。

onStart() : //在可见生命周期的开始时被调用。应用所有需要的UI变化,现在Fragment是可见的。

onResume() : //在活动生命周期的开始时被调用。回复所有暂停的Fragment需要的UI更新,线程或进程,但在非活动状态它是暂停的。

onPause() : //在活动生命周期结束时被调用。当Activity不是活动的前台Activity时,需要暂停UI的更新、挂起线程或者暂停那些不需要更新的CPU的集中处理。由于调用这个方法后,进程可能被终止,所以要保存所有的编辑和状态改变信息。

onStop() : //在可见生命周期结束时调用该方法。在Fragment不可见时,暂停其余的UI更新、挂起线程或者暂停不需要的处理。

onDestroyView() : //当Fragment的view被分离时,调用该方法。

onSaveInstanceState() ://在活动生命周期结束时,调用该方法保存UI的状态变化。

onDestroy() : //在整个生命周期结束时调用该方法。

onDetach() : //当Fragment从它的父Activity上分离时,调用该方法。


一些过程:

1.在使用onCreateView()给Fragment装载了自己的UI后,才能在onActivityCreated()中对调用的UI进行相应的操作,不然会出现java.lang.nullPointerException的空指针异常。例如:

在Fragment中装载自己的UI,然后在Fragment中对UI中的控件进行自定义:

public class MyFragment extends Fragment {


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

//首先装载此Fragment的UI
return inflater.inflate(R.layout.layout_growth_operator1, container,false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {

//UI装载完成后对UI中的控件进行自定义
super.onActivityCreated(savedInstanceState);
initLayoutConfig();
}

//UI控件自定义。在onCreateView()创建完成前或者onCreateView()中进行UI控件的自定义,都会出现java.lang.nullPointerException空指针异常.
private void initLayoutConfig(){
TextView tv1 = (TextView) getActivity().findViewById(R.id.textView_layout_growth_operater1_1);
tv1.setText(R.string.grawth_operator_of_diary);
}

}


0 0
原创粉丝点击