Button的四种Click响应方法

Button用得挺多的,在这整理了下它的事件处理方法,发现实现方法还不少,我比较喜欢第二种,你呢,最常用哪一种?

实现一:

    Button bt_Demo = (Button)findViewById(R.id.bt_Demo);
    bt_Demo.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            //响应Clicked事件
            //......
        }
    });

实现二:

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 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事件
                //......
        }        
    }

实现四:

  //在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

感谢这么全面的总结,虽然这些都知道,但是自己缺乏总结。

原文地址:https://www.cnblogs.com/sishuiliuyun/p/3949611.html