枚举在google的Android开发建议中是不受推荐,原因可点击链接http://www.iqiyi.com/w_19rtg8k78l.html。
那如果在实际项目中如果有对应需求该怎么办呢。
其实可以参考源码中ActionBar中的做法,如下
首先定义指定类型NavigationMode
private static final int NAVIGATION_MODE_TABS = 48;
private static final int NAVIGATION_MODE_LIST = 44;
private static final int NAVIGATION_MODE_STANDARD = 43;
@Retention(RetentionPolicy.SOURCE)
@IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
public @interface NavigationMode {}
然后在使用NavigationMode
public abstract void setNavigationMode(@NavigationMode int mode);
在方法setNavigationMode中我们只能输入指定的类型。其实使用和枚举很类似,但这种方法是google推荐的,使用时对系统的消耗比枚举小得多。