您的位置:首页 > 其它

Fragment抽取基类

2019-01-09 19:00 20 查看

等待............. https://blog.csdn.net/loveqRc/article/details/53872314这个比较详细,入门请看下面

 

首先每个Fragment都要调取onCreateView()方法加载布局   这里在调取inflate加载布局的时候,就需要不要把这个地方写死,试着调取一个回调方法来接收布局 这样一个返回值为int的 获取布局的回调方法就产生了   public abstract int getLayoutID();  这样 一旦Fragment继承了这个 基类 BaseFragment之后  就会实现这个方法 然后会return一个 int类型的东西 这样就能做到 把布局回传回来 加载视图了

这样onCreateView 中加载布局视图的任务就完成了  之所以全局也是因为 在onActivityCreate里获取控件 需要用到此View值

可能大家唯一疑惑的地方就是这里的一个传参,那么请跟我看这个

这个是 继承完基类的Fragment的样子, 这里 initView方法 是获取控件的方法,是需要用到 这个view  这个view值也是 基类中获取布局 的view.  下面是完整基类的图

基层的Fragment 也是v4的 

 

下面说一下我对基类的理解吧:

   如果我们合伙开发一个项目的话,势必会有很多activity或者fragment页面,那么我可我们几个人会各自分到几个页面来做, 到了这时时候,就需要一个统领全局格式的一个东西出现 约束大家的格式   使代码更加的  让人容易看懂  有利于效率的提升 所以用好基类是一件很重要很重要的事 但其实他很简单

这么说吧, 在基类里BaseFragment中  创建了很多方法,  在写fragment的时候, 继承了这个基类,同样的会把那些方法 让你实现!

这些方法对应的代码 都写好之后, 他的运行逻辑是这个样子的      首先进入了MainActivity,或者FragmentA中  然后软件发现了你继承了一个基类BaseFragment 然后他就没有往下运行 而是直接进入到 Base中 然后发现第一个方法,于是他就开始 找第一个方法怎么写的,这个方法完了之后 他在回来 接着找下一个 知道所有方法都完成 .

所以所有的运行逻辑 全部都在BaseFragment里 ,而在fragment中方法的顺序是无关的 不需要oncreateview也不需要onActivitycreate(), 你只需要写好对应的方法  他的运行逻辑 顺序全部都在Base里面

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: