(编辑:jimmy 日期: 2025/10/31 浏览:2)
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;
          }
       }
    }
感谢这么全面的总结,虽然这些都知道,但是自己缺乏总结。