打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Fragment的使用和介绍
Fragment的优点就是当Activity较为复杂时,将Activity的界面分为几个模块,每个模块就是一个Fragment。这样避免Activity的臃肿,也有助于减小耦合,提高内聚。使用一个新包存放Fragment。每个activity用1到3个fragment为宜。太多Fragment会充斥着Fragment事务处理,这个时候用定制视图继承View。

  但是我们尽量使用Fragment,到后期添加会有很多麻烦处理。

  当要使用Fragment时,一般使用Fragment填充FrameLayout。每个Fragment都有其布局容器。

  Fragment多的时候,可以抽取一个公有的抽象BaseFragment类。抽象方法由不同的Fragment自己实现。这样提高代码复用率,也更加灵活。

  常见的用法是Fragment里面保存一个Activity变量。

  public abstract class BaseFragment extends Fragment {

  protected Activity mActivity;

  //在onAttach之后调用的方法。是第二个被调用的方法。

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  mActivity = getActivity();

  }

  //第三个被调用的方法,用来初始化Fragment布局

  @Nullable

  @Override

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

  return initView();

  }

  // 第四个被调用的方法,在Activity的onCreate方法调用后调用,用来初始化数据。

  @Override

  public void onActivityCreated(Bundle savedInstanceState) {

  super.onActivityCreated(savedInstanceState);

  initData();

  }

  //初始化布局函数由子类实现,且不由外界调用。

  protected abstract View initView();

  initView函数是创建具体的Fragment。

  //初始化数据函数由子类实现

  protected abstract void initData();

  利用FragmentManager动态添加Fragment

  Fragment事务处理Fragment添加删除替换

  FragmentManager.BeginTransaction.add.comit
当需要给Fragmentc信息可以设置argument给一个Bundle给Fragment。
  Fragment使用原则

  Fragment保持独立性。他不需要知道托管的activity的方法。不调用activity的方法。反之activity知道Fragment的方法。

  这说明一个模块知道他内部模块的信息不知道他所属模块的信息。其次内部模块应该提供修改自己信息的函数而不是直接由模块修改。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Fragment的使用
Android UI开发第三十篇
Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
Android开发之漫漫长途 XII——Fragment 详解
Android帧布局
android的Activity之间的数据传递
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服