PHP小丑 发表于 2021-9-15 14:06:19

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;
          }
       }
    }
感谢这么全面的总结,虽然这些都知道,但是自己缺乏总结。

https://www.uoften.com/webdesign/xhtml/20180414/68700.html
页: [1]
查看完整版本: Button的四种Click响应方法汇总