单Acitivty+Fragment的优化写法。

简介: 一直以来,在写单Acitivty+Fragment的时候,标题栏的布局虽然 include 同一个,但是每次代码里都要对标题栏进行setText() ,而且每次都要写一遍标题栏的点击事件,而在以前的学习使用中,都没有考虑过去对它们进行一个优化。

一直以来,在写单Acitivty+Fragment的时候,标题栏的布局虽然 include 同一个,但是每次代码里都要对标题栏进行setText() ,而且每次都要写一遍标题栏的点击事件,而在以前的学习使用中,都没有考虑过去对它们进行一个优化。


下面用新的思路去解决一下。


用一个父类继承于Fragment,实现OncreateView方法,并添加相应抽象方法,用来返回 layout和title。子类在使用的时候,继承其父类,并返回子类的 layout和title。 这样,每次只需实现父类的抽象方法,即可以实现免 setText等。下面看实现过程。 

public abstract class FragmentSupper extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(getContext(), getLayoutid(), null);
        TextView textView = view.findViewById(R.id.title);
        textView.setText(setTitle());
        getView(view);
        return view;
    }
    //返回view
    public abstract void getView(View view);
    //用来获取子类的layout
    public abstract Integer getLayoutid();
    //获取子类title
    public abstract String setTitle();
}
public class Tianqi extends FragmentSupper  {
    @Override
    public void getView(View view) {
        //这里拿到你的View
    }
    //实现抽象方法,返回layout
    public Integer getLayoutid() {
        return R.layout.tianqi;
    }
    //返回title
    @Override
    public String setTitle() {
        return "Title";
    }
}
目录
相关文章
|
Android开发
Android 硬布局item的高级写法
Android 硬布局item的高级写法
246 0
Android 硬布局item的高级写法
使用NavHostFragment、navigation--- avtivity向fragment传值,fragment之间传值
使用NavHostFragment、navigation--- avtivity向fragment传值,fragment之间传值
277 0
|
前端开发
尤大亲自解释vue3源码中为什么不使用?.可选链式操作符🐣
尤大亲自解释vue3源码中为什么不使用?.可选链式操作符🐣
916 0
尤大亲自解释vue3源码中为什么不使用?.可选链式操作符🐣
swift4 循环的简单写法forEach
实现效果是,循环子view,给符合条件的子view进行操作。 原来的实现: for view in subviews { if view is UIButton { let btn...
1015 0
|
容器 缓存
Android--Fragment 实现懒加载和不重复加载
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/79217223 基类: package fragment; import android.
1519 0
|
程序员 Android开发 开发者
Android应用开发—重载fragment构造函数导致的lint errors
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/voidreturn/article/details/78302771 背景...
1162 0
addTextChangedListener在fragment中多次执行问题
文章同步发布到CSDN:http://blog.csdn.net/ling9400/article/details/60323283 转载请注明出处:http://blog.
1130 0