Android枚举类引用实例

## Android 中不常用的Enum枚举类实例 ##

引导语:
在Android 开发中,一些基本的类已经可以满足大家开发需求,但是用到多选项,单一结果的情况下(尤其是用于几十个选项),或者几种不可变的选择结果,Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals 。是一种好的习惯。
Enum实例:
我在开发简易天气预报功能时遇到一个需求,便是接口返回39种天气状况的Code码,每个Code码都匹配一张不同的天气图片,那么,Enum便大显身手了
代码如下
步骤:
1.创建枚举类
2.在枚举类中搭建可以返回图片的方法
3. 转化字符串为枚举类型,接受数据并引用

1;创建枚举类
/**
 * Created by Administrator on 2016/5/9.
 * 枚举天气实况图片
 */
public enum  WeatherCode {

//列举出枚举类所有结果    

CODE_0,CODE_1,CODE_2,CODE_3,CODE_4,CODE_5,CODE_6,CODE_7,CODE_8,CODE_9,CODE_10,CODE_11,CODE_12,CODE_13,CODE_14,CODE_15,CODE_16,CODE_17,CODE_18,CODE_19,CODE_20,CODE_21,CODE_22,CODE_23,CODE_24,CODE_25,CODE_26,CODE_27,CODE_28,CODE_29,CODE_30,CODE_31,CODE_32,CODE_33,CODE_34,CODE_35,CODE_36,CODE_37,CODE_38;

    public static class returnChoseCode{
        private WeatherCode weatherCode;

        public returnChoseCode( WeatherCode s) {
        this.weatherCode = s;
        }

        public int change() {
           switch (weatherCode) {
               case CODE_0:
                   return R.drawable.weather_0;
               case CODE_1:
                   return R.drawable.weather_1; 
                   。。。(省略38种判断)

           }
            return 0;
        }
         }
}
/**
*在要引用枚举的类中,将接口中的code字段转换为枚举类型并引用
*/ 
WeatherCode weatherCode = WeatherCode.valueOf("CODE_"+watherLocationUtils.get(0).getNow().getCode());
//设置图片据顶部
Drawable drawable = getResources().getDrawable(new WeatherCode.returnChoseCode(weatherCode).change());
                        drawable.setBounds(0, 0, 200,200);
                        mine_weather_btn.setCompoundDrawables(null,drawable, null, null);//top

结语:总之枚举类可以有一百种用法,代码并不是一成不变的,多了枚举类只是多了一种合理选择而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值