Android枚举类引用实例

来源:互联网 发布:淘宝羊毛衫 编辑:程序博客网 时间:2024/06/09 16:45
## 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
原创粉丝点击