在Android或Java开发中,对于button的OnClickListener有下面四种实现方式,可以根据需要选择合适的用法。
在城区等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站建设 网站设计制作按需设计,公司网站建设,企业网站建设,品牌网站制作,成都营销网站建设,外贸网站建设,城区网站建设费用合理。
方法一:
适合场景:通用
Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //响应Clicked事件 //...... } });
方法二:
适合场景:适合有多个button或者button数组时使用
Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(listener); private OnClickListener listener = new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch(arg0.getId()){ case R.id.bt_Demo: //响应Clicked事件 //...... break; default: break; } } }
方法三:
适合场景:适合有多个button或者button数组时使用,这跟方法二其实差别不大
Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(new ButtonListener()); private class ButtonListener implements OnClickListener{ @Override public void onClick(View arg0) { //响应Clicked事件 //...... } }
方法四:
适合场景:适合界面上有不同类型的控件,这种方式将所有控件的onclick方法在一个方法里面实现,看起来比较简洁
//在Activity中直接OnClickListener接口: import android.view.View.OnClickListener; public class MyActivity extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //按纽 Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(this); } //响应Click事件 public void onClick(View v) { switch (v.getId()) { case R.id.bt_Demo: //响应Clicked事件 //...... break; default: break; } } }
参考:http://blog.csdn.net/xcl168/article/details/14452807