多个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()这个方法的说明:

多个button绑定同一个onclickListener方法_第1张图片


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


为view绑定id的方法:

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

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

你可能感兴趣的:(Android,漫漫Android路,android,安卓,onclickListener,button)