美文网首页
fragment 总结

fragment 总结

作者: 陆元伍 | 来源:发表于2018-04-14 13:35 被阅读0次

    1、fragment生命周期

    onAttach onCreate onCreateView onActivityCreated onStart onResume onPause onStop onDestroyView onDestroy onDetach

    image

    2、fragment与activity传值

    activity传值给fragment:

    • 通过Bundle
    Bundle bundle = new Bundle();
    bundle.putString(Constant.INTENT_ID, productId);
    Fragment fragment = new Fragment();
    fragment.setArguments(bundel);
    
    • 在宿主Activity中定义方法,将要传递的值传递到Fragment中,在Fragment中的onAttach方法中,获取到这个值

      (1)宿主activity中的getTitles()方法
          public String getTitles() {    
              return "hello";
          }
      (2)Fragment中的onAttach方法
          public void onAttach(Activity activity) { 
            super.onAttach(activity);
            //通过强转成宿主activity,就可以获取到传递过来的数据
            titles = ((MainActivity) activity).getTitles();
            }
      

    fragment传值给activity:

    • Handler方式,在activity中定义Handler,然后在fragment中获取到activity的handler,发送消息

    • 广播

    • EventBus

    • 在fragment中定义接口,然后activity中实现该接口

            //MainActivity实现MainFragment开放的接口                                
            public class MainActivity extends FragmentActivity implements FragmentListener{
            @override
            publicvoidtoH5Page(){ }
            }
            public class MainFragment extends Fragment{
                public FragmentListener mListener;
                //MainFragment开放的接口
                public static interface FragmentListener{
                    //跳到h5页面
                    void   toH5Page();
                }
    
              @Override
              public void onAttach(Activity activity) {
                  super.onAttach(activity);
                  //对传递进来的Activity进行接口转换
                  if(activity instance FragmentListener){
                      mListener = ((FragmentListener)activity);
                   }
              }
              ...其他处理
          }
    

    相关文章

      网友评论

          本文标题:fragment 总结

          本文链接:https://www.haomeiwen.com/subject/ijhlkftx.html