zoukankan      html  css  js  c++  java
  • 实现BaseFragment

    package liu.basedemo.base;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    import liu.basedemo.R;
    
    /**
     * Fragment基类
     * Created by 刘楠 on 2016/7/28 0028.21:45
     */
    public abstract class BaseFragment extends Fragment {
    
        private Activity mActivity;
    
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mActivity = getActivity();
        }
    
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    
            View rootView = bindLayout(inflater);
            return rootView;
        }
    
        /**
         * 子类必须实现
         *
         * @param inflater
         * @return
         */
        protected abstract View bindLayout(LayoutInflater inflater);
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    
            initData();
            initListener();
        }
    
    
        /**
         * 子类可以不实现
         */
        private void initData() {
    
        }
    
        /**
         * 子类可以不实现
         */
        private void initListener() {
    
        }
    
        /**
         * 加载过场动画
         *
         * @param intent 意图
         */
        @Override
        public void startActivity(Intent intent) {
            super.startActivity(intent);
            /**
             * 过场动画
             */
            mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    
        /**
         * 加载过场动画
         *
         * @param intent      意图
         * @param requestCode 请求码
         */
        @Override
        public void startActivityForResult(Intent intent, int requestCode) {
            super.startActivityForResult(intent, requestCode);
    
            mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    
        /**
         * 加载过场动画
         */
        @Override
        public void onDestroy() {
            super.onDestroy();
            mActivity.overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
        }
    
    
    }
  • 相关阅读:
    对ManualResetEvent和AutoResetEvent的巩固练习
    经纬度点距离的那点儿事
    【读书笔记】C++Primer---第三章
    .NET应用程序调试—原理、工具、方法
    【读书笔记】C++Primer---第二章
    【读书笔记】C++Primer---第一章
    8 个最好的 jQuery 树形 Tree 插件
    C++中引用(&)的用法和应用实例
    自娱自乐之直接插入排序
    自娱自乐之堆排序
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5716498.html
Copyright © 2011-2022 走看看