• 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实现。
  • 相关阅读:
    javac 小记
    安全专家的工具箱
    MyBatis 缓存机制(十三)
    SpringMVC 环境搭建
    MyBatis 模糊查询的 4 种实现方式
    MyBatis 项目开发中是基于 XML 还是注解?
    MyBatis 动态 SQL 语句中出现 '<' 的问题
    数据库设计的三大范式
    mybatis 同时使用 XML 和注解
    数据库事务
  • 原文地址:https://www.cnblogs.com/wenwei1/p/7202733.html
Copyright © 2020-2023  润新知