• Android 中BaseActivty


    Base接口

    IBaseActivity
    package liu.basedemo.base;
    
    /**
     * 基类接口
     * Created by 刘楠 on 2016/7/28 0028.23:05
     */
    public interface IBaseActivity {
    
    
        /**
         * 返回视图的布局(setContentView中使用)
         * @return 返回视图的布局
         */
         int bindLayout();
    
        /**
         * 初始化View(onCreate方法中调用)
         */
         void    initView();
    
        /**
         * 初始化数据(onCreate方法中调用)
         */
        void initData();
    
        /**
         * 初始监听器(onCreate方法中调用)
         */
        void initListener();
    
        /**
         * 暂停恢复刷新相关操作(onPause方法中调用)
         */
        public void pause();
    
        /**
         * 暂停恢复刷新相关操作(onResume方法中调用)
         */
        public void resume();
    
        /**
         * 暂停恢复刷新相关操作(onStop方法中调用)
         */
        public void stop();
    
    
        /**
         * 销毁,释放资源等操作在(onDestory方法中谳用)
         */
        public void destory();
    }
    BaseActivity
    package liu.basedemo.base;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.LayoutRes;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Window;
    
    import java.lang.ref.WeakReference;
    
    import liu.basedemo.MyApplication;
    import liu.basedemo.R;
    
    /**
     * Activity基类
     * Created by 刘楠 on 2016/7/28 0028.23:02
     */
    public abstract class BaseActivity extends AppCompatActivity implements IBaseActivity {
    
        /**
         * 全局应用 
         */
        MyApplication mMyApplication;
        /**
         * 弱引用
         */
        WeakReference<Activity> mTask;
    
        @Override
        public void setContentView(@LayoutRes int layoutResID) {
            super.setContentView(layoutResID);
        }
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            /**
             * 设置布局
             */
    
            setContentView(bindLayout());
    
            /**
             * 抽象方法
             */
            initView();
            initData();
            initListener();
    
            
            mMyApplication =MyApplication.getInstance();
            mTask = new WeakReference<Activity>(this);
            /**
             * 添加任务栈
             */
            mMyApplication.pushTask(mTask);
        }
    
        @Override
        public void pause() {
            super.onPause();
        }
    
        @Override
        public void stop() {
            super.onStop();
        }
    
        @Override
        public void destory() {
            super.onDestroy();
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
    
            /**
             * 移除任务栈
             */
            mMyApplication.removeTask(mTask);
        }
    
        @Override
        public void startActivity(Intent intent) {
            super.startActivity(intent);
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    
        @Override
        public void startActivityForResult(Intent intent, int requestCode) {
            super.startActivityForResult(intent, requestCode);
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    }
     
     
  • 相关阅读:
    计算机网络:packet tracer模拟RIP协议避免路由回路实验
    计算机网络: 交换机与STP算法
    计算机网络:RIP协议与路由向量算法DV
    Flink-v1.12官方网站翻译-P002-Fraud Detection with the DataStream API
    Flink-v1.12官方网站翻译-P001-Local Installation
    DolphinScheduler1.3.2源码分析(二)搭建源码环境以及启动项目
    DolphinScheduler1.3.2源码分析(一)看源码前先把疑问列出来
    netty写Echo Server & Client完整步骤教程(图文)
    docker第一日学习总结
    Linux下统计CPU核心数量
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5716623.html
Copyright © 2020-2023  润新知