首页 > 代码库 > Fragment类实现

Fragment类实现

Fragment是界面和逻辑的结合,对于实现继承Fragment的类,一般可以分一下几块:

1、方法块:

  1)重写方法,实现一些父类、接口的方法,重要的有

    Fragment的生命周期的回调函数。Fragment需要和Activity关联才能使用,所以可能需要获得对应的Activity对象;Fragment实现界面逻辑时要获取自己的控件;这些都要在特定的回调函数中才可以进行。

  2)私有功能方法实现,实际逻辑实现,以函数为单位,清晰控制各个功能的步骤。

    添加几个初始化方法,初始化配置变量、事件监听器、数据变量等。

  3)共有方法,对外提供功能的

 2、接口:Fragment有时候会需要使用与之关联的activity的功能,可以定义一个接口,由Activity实现,在OnAttach()方法中获取到,然后使用

 3、变量:

  事件监听器

  配置变量、数据变量

    
  ////这个函数用了依据xml文件初始化界面信息
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_demo, container, false); }

   ////这个函数是在Activity创建之后调用的,想要获取Fragment中的控件,需要在这个函数中
   ////使用this.getView().findViewById(R.id)函数来依据id获取对应控件
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public void onStart() { super.onStart(); } @Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); } @Override public void onStop() { super.onStop(); } @Override public void onDestroyView() { super.onDestroyView(); } @Override public void onDestroy() { super.onDestroy(); }   ////可以在这个函数中改变Menu内容 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); }
@Override
public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } @Override public void onOptionsMenuClosed(Menu menu) { super.onOptionsMenuClosed(menu); }
  ////这里可以获取对应Activity对象, @Override
public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { mListener = (OnFragmentInteractionListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; }

  技术分享

   

Fragment类实现