zoukankan      html  css  js  c++  java
  • BaseActivity

    1.新建BaseActivity继承FragmenytActivity。由于我习惯在Activity里用些公共的方法,所以将此类建为abstract 

    public abstract class BaseActivity extends FragmentActivity {
    
    }

    2.重写onCreate()方法

    public abstract class BaseActivity extends FragmentActivity {
    
                 @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_base_activity);
    
        }
    }

    3.编写必要的属性

    public abstract class BaseActivity extends FragmentActivity {
        
        protected int mScreenWidth;
        protected int mScreenHeight;
        protected float mDensity;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_base_activity);
            
            
            DisplayMetrics metrics =new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
            mScreenHeight = metrics.heightPixels;
            mScreenWidth = metrics.widthPixels;
            mDensity = metrics.density;
            
        }
    }

    4.编写子类公共的方法

    protected void showShortToast(int resId){
            Toast.makeText(this, getString(resId), Toast.LENGTH_SHORT).show();
        }
        protected void showShortToast(String text){
            Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
        }
        
        protected void showLongToast(int resId){
            Toast.makeText(this, getString(resId), Toast.LENGTH_LONG).show();
        }
        
        protected void showLongToast(String text){
            Toast.makeText(this, text, Toast.LENGTH_LONG).show();
        }
        
        protected void showLogDebug(String tag,String msg){
            Log.d(tag, msg);
        }
    
        protected void showLogError(String tag,String msg){
            Log.e(tag, msg);
        }
        
        
        protected void startActivity(Class<?> cls, Bundle bundle){
            Intent intent = new Intent();
            intent.setClass(this, cls);
            if(bundle != null){
                intent.putExtras(bundle);
            }
            startActivity(intent);
        }
        
        protected void startActivity(Class<?> cls){
            startActivity(cls,null);
        }
        
        
        protected AlertDialog showAlertDialog(String title,String message){
            AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle(title)
            .setMessage(message)
            .show();
            return alertDialog;
        }
        
        protected AlertDialog showAlertDialog(String title,String message
                ,String posistiveText
                ,DialogInterface.OnClickListener onPositiveClickListener
                ,String negativeText
                ,DialogInterface.OnClickListener onNegativeClickListener){
            AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle(title)
            .setMessage(message)
            .setPositiveButton(posistiveText, onPositiveClickListener)
            .setNegativeButton(negativeText, onNegativeClickListener)
            .show();
            return alertDialog;
        }
        
        
        protected void defaultFinish(){
            super.finish();
        }
        
        
        abstract void initView();
        abstract void initEvent();
  • 相关阅读:
    云区域(region),可用区(AZ),跨区域数据复制(Cross-region replication)与灾备(Disaster Recovery)(部分1)
    云区域(region),可用区(AZ),跨区域数据复制(Cross-region replication)与灾备(Disaster Recovery)(部分2)
    VLAN 模式下的 OpenStack 管理 vSphere 集群方案
    理解Kubernetes(2): 应用的各种访问方式
    理解Kubernetes(1):手工搭建Kubernetes测试环境
    2017这一年(内空)
    eKing Cloud基础云平台演进之路
    《重新定义公司
    使用 Kafka 和 ELK 搭建测试日志系统(1)
    [译] OpenStack Pike 版本中的 53 个新功能盘点
  • 原文地址:https://www.cnblogs.com/wei1228565493/p/4437701.html
Copyright © 2011-2022 走看看