多个button绑定同一个onclickListener方法

最近开始学习android开发

遇到这么一个情况,我想要对一个activity多个按钮绑定onclik监听,但是如果每个都要单独写一个监听方法的话,太麻烦了。在网上查了一下,发现可以对多个button绑定同一个onclick监听方法,通过getID()方法来判断点击的按钮

		createDB = (Button) findViewById(R.id.createDB);
		updateDB = (Button) findViewById(R.id.updateDB);
		insert = (Button) findViewById(R.id.insert);
		delete = (Button) findViewById(R.id.delete);
		update = (Button) findViewById(R.id.update);
		select = (Button) findViewById(R.id.select);
		
		
		createDB.setOnClickListener(new DBListener());
		updateDB.setOnClickListener(new DBListener());
		insert.setOnClickListener(new DBListener());
		delete.setOnClickListener(new DBListener());
		update.setOnClickListener(new DBListener());
		select.setOnClickListener(new DBListener());
OnclickListener中的代码:
	class DBListener implements OnClickListener{
		
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			
			switch(arg0.getId()){
				case R.id.createDB:
					Log.i("Test", "CreateDB");
					break;
				case R.id.updateDB:
					Log.i("Test", "updateDB");
					break;
				case R.id.insert:
					Log.i("Test", "insert");
					break;
				case R.id.update:
					Log.i("Test", "update");
					break;
				case R.id.delete:
					Log.i("Test", "delete");
					break;
				case R.id.select:
					Log.i("Test", "select");
					break;
			}
		}		
	}


View的getId()方法会返回一个int型的数字,这个数字与通过R.id.viewId获得的数字是对应的,所以可以通过这两个数字关联确定点击的按钮。

当然在使用这个方法的前提是对应的view有id的值,我们看到getId()这个方法的说明:



这个方法的返回值是一个正数,用于标识view,但是如果一个view没有ID的话,该方法会返回NO_ID


为view绑定id的方法:

可以在布局的XML中使用android:id的属性

也可以在activity中使用setId()的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值