zoukankan      html  css  js  c++  java
  • Android按钮单击事件的五种实现方式

    1. 匿名内部类作为事件监听器

      public class MainActivity extends Activity {
      	
      	private Button button;
          
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              button = (Button) findViewById(R.id.button1);
              button.setOnClickListener(new OnClickListener() {
      			@Override
      			public void onClick(View v) {
      				System.out.println("匿名内部类作为事件监听器");
      			}
      		});
              
          }
          
      }
      
    2. 内部类作为事件监听器

      public class MainActivity extends Activity {
      	
      	private Button button;
      	
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              button = (Button) findViewById(R.id.button1);
              button.setOnClickListener(new ButtonOnClickListener());
          }
          
          class ButtonOnClickListener implements OnClickListener{
      		@Override
      		public void onClick(View v) {
      			System.out.println("内部类作为事件监听器");
      		}
          }
          
      }
      
    3. Activity本身作为事件监听器

      public class MainActivity extends Activity implements OnClickListener{
      	
      	private Button button;
      	
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              button = (Button) findViewById(R.id.button1);
              button.setOnClickListener(this);
          }
          
          @Override
          public void onClick(View v) {
          	System.out.println("Activity本身作为事件监听器");
          }
          
      }
      
    4. 外部类作为事件监听器

      public class MainActivity extends Activity {
      	
      	private Button button;
      	
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              button = (Button) findViewById(R.id.button1);
              button.setOnClickListener(new ButtonOnClickListener());
          }
          
      }
      class ButtonOnClickListener implements OnClickListener {
      	
      	@Override
      	public void onClick(View v) {
      		System.out.println("外部类作为事件监听器");
      	}
      	
      }
      
    5. 将事件处理方法直接绑定到标签

      <Button
                  android:id="@+id/button1"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="点击事件"
                  android:onClick="onClick" />
      
      public class MainActivity extends Activity {
      	
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
          }
          
          public void onClick(View v){
          	System.out.println("将事件处理方法直接绑定到标签");
          }
          
      }
      
  • 相关阅读:
    3-为什么很多 对 1e9+7(100000007)取模
    6-关于#include<bits/stdc++.h>
    7-n!的位数(斯特灵公式)
    5-math中函数汇总
    6-找数的倍数
    6-Collision-hdu5114(小球碰撞)
    5-青蛙的约会(ex_gcd)
    4-圆数Round Numbers(数位dp)
    4-memset函数总结
    一种Furture模式处理请求中循环独立的任务的方法
  • 原文地址:https://www.cnblogs.com/skyzou/p/12442199.html
Copyright © 2011-2022 走看看