Intent单例

来源:互联网 发布:linux怎么安装 编辑:程序博客网 时间:2024/06/05 03:08
public class IntentSingle{    //跳转的Intent    private Intent intent;    //广播Intent    private Intent sendIntent;    //bundle传值    private Bundle bundle;    private static IntentSingle Instance = new IntentSingle();    private IntentSingle() {        intent = new Intent();        sendIntent = new Intent();        bundle = new Bundle();    }        public Bundle getBundle() {        return bundle;    }    //获取单例对象    public static IntentSingle getInstance() {        return Instance;    }    /**     * 或取Intent传的值,只有int 类型和String类型(根据需求添加)     * @param key     */    public String getString(String key){        return intent.getStringExtra(key);    }    public int getInt(String key){        return intent.getIntExtra(key,0);    }    public String[] getStringArrayList(String key){        return intent.getStringArrayExtra(key);    }    public int[] getIntArrayList(String key){        return intent.getIntArrayExtra(key);    }    //跳转传值    public <T>void addActivity(Context moveContext, Class<T> tClass, Bundle bundle){        intent.setClass(moveContext,tClass);        intent.putExtras(bundle);        moveContext.startActivity(intent);    }    //跳转    public <T>void addActivity(Context moveContext,Class<T> tClass){        intent.setClass(moveContext,tClass);        moveContext.startActivity(intent);    }    //发送广播传值    public void sendBroadCast(Context broadContext,String action, Bundle bundle){        sendIntent.setAction(action);        sendIntent.putExtras(bundle);        broadContext.sendBroadcast(sendIntent);    }    //发送广播    public void sendBroadCast(Context broadContext ,String action){        sendIntent.setAction(action);        broadContext.sendBroadcast(sendIntent);    }}
1 0
原创粉丝点击