enum枚举的使用总结 在android中的应用 持续更新

本文总结了Android开发中enum枚举类型的优点,如实现单例模式和描述对象状态。通过一个示例展示了如何使用enum来表示应用的Tab页,并提供获取资源ID的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先说说我认识到的enum的优点

1,单例模式的简单实现

2,可以用来描述对象的标记、状态,对外提供方法

 

下面用一个示例来演示enum的用法,这个enum用来表示一个应用的三个Tab页,对外提供获取当前tab页的资源ID的方法

定义enum

	/**
	 * 标签页类型
	 * LAST 最近
	 * HOT  最火
	 * LOOK 随便看看
	 */
	enum BarType{
		LAST,HOT,LOOK;
		/**
		 * 获取当前标签的资源id
		 * @return 当前标签资源ID
		 */
		public int getResourceId(){
			if (this==LAST) {
				return R.drawable.main_title_bar_tab_last;
			}else if(this==HOT){
				return R.drawable.main_title_bar_tab_hot;
			}else if(this==LOOK){
				return R.drawable.main_title_bar_tab_look;
			}
			return 0;
		}
	}

使用enum

<pre class="java" name="code">private BarType mCurrentTab = BarType.LAST;
 @Override 
protected void onCreate(Bundle savedInstanceState) {  
         super.onCreate(savedInstanceState);  
	setContentView(R.layout.main);
  	//初始化标签页
 	 changeTagUI(BarType.LAST); 
}

 private void changeTagUI(BarType tabType) {     
	mCurrentTab = tabType;
	//设置背景资源     
	mMainTabView.setBackgroundResource(mCurrentTab.getResourceId());
    	//判断是否是当前显示的标签类型    
	mBarLast.setTextColor(tabType.equals(BarType.LAST) ? mSelectColor : mUnSelectColor);
 	mBarHot.setTextColor(tabType.equals(BarType.HOT) ? mSelectColor : mUnSelectColor);
 	mBarLook.setTextColor(tabType.equals(BarType.LOOK) ? mSelectColor : mUnSelectColor);
}
<span style="font-family:Arial;BACKGROUND-COLOR: #ffffff">enum可以用来表示一个标签页的状态,还可以得到这个状态对应的资源图片ID,用起来是不是很方便?以后有其他用法,继续更新本文。</span>

                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值