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; }

  

   

转载于:https://www.cnblogs.com/z964166725/p/7222013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值