zoukankan      html  css  js  c++  java
  • Android中Button四种点击事件实现方式

    1.Xml添加监听属性,这里添加的doClick。

    1 <Button
    2         android:id="@+id/bt1"
    3         android:layout_width="wrap_content"
    4         android:layout_height="wrap_content"
    5         android:onClick="doClick"
    6         android:text="XML添加doClick"
    7         android:layout_above="@+id/bt2"
    8         android:layout_marginBottom="47dp"
    9        />
    1 public void doClick(View view) {
    2         switch (view.getId()) {
    3             case R.id.bt1:
    4                 Toast.makeText(MainActivity.this, "第一种点击事件:Xml添加doClick", Toast.LENGTH_SHORT).show();
    5                 break;
    6 
    7         }
    8 
    9     }

    在Activity中添加doClick实现方法。Activity中实现的方法要和XML添加的属性名相同,不建议实际开发中使用

    2.匿名内部类方式实现。

    1        Button bt2 = (Button) findViewById(R.id.bt2);
    2        bt2.setOnClickListener(new View.OnClickListener() {
    3              @Override
    4              public void onClick(View v) {
    5                  Toast.makeText(MainActivity.this, "第二种点击事件:匿名内部类", Toast.LENGTH_SHORT).show();
    6              }
    7          });

     3.自定义点击事件实现。

    1  Button bt3 = (Button) findViewById(R.id.bt3);
    2          bt3.setOnClickListener(new MyListener());
    3 class MyListener implements View.OnClickListener { 4 @Override 5 public void onClick(View v) { 6 Toast.makeText(MainActivity.this, "第三种方法:自定义点击事件", Toast.LENGTH_SHORT).show(); 7 } 8 }

     4.Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法。

     1 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
     2     @Override
     3     protected void onCreate(Bundle savedInstanceState) {
     4         super.onCreate(savedInstanceState);
     5         setContentView(R.layout.activity_main);
     6  Button bt4=(Button)findViewById(R.id.bt4);
     7     bt4.setOnClickListener(this);
     8 }
     9 
    10 @Override
    11     public void onClick(View v) {
    12         switch (v.getId()) {
    13             case R.id.bt4:
    14                 Toast.makeText(MainActivity.this,
    15                         "第四种点击事件:Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法",
    16                         Toast.LENGTH_SHORT).show();
    17         }
    18     }
    19 }
    备注:Button数量不多的情况下推荐使用第二种,匿名内部类的方式实现;反之则推荐使用第四种,Activity继承View.OnClickListener实现。
  • 相关阅读:
    synchronized锁升级的过程(偏向锁到轻量锁再到重量级锁)转
    sprin 事务注解@Transactional的实现原理(转)
    springboot + redis + 注解 + 拦截器 实现接口幂等性校验(转)
    JAVA-TCP
    oracle查看连接信息
    C# 计算两个字符的相似度
    Java设计模式桥接模式
    C# Newtonsoft.Json.JsonReaderException:“Could not convert string to decimal:
    java设计模式结构型模式
    Java设计模式原型模式
  • 原文地址:https://www.cnblogs.com/wenwei1/p/7202733.html
Copyright © 2011-2022 走看看