Android Button点击事件的四种实现方法

发布时间 - 2026-01-11 02:24:18    点击率:

Android中Button四种点击事件实现方式,具体内容如下

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

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

    }

  }

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

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

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

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

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

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

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 Button bt4=(Button)findViewById(R.id.bt4);
  bt4.setOnClickListener(this);
}

@Override
  public void onClick(View v) {
    switch (v.getId()) {
      case R.id.bt4:
        Toast.makeText(MainActivity.this,
            "第四种点击事件:Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法",
            Toast.LENGTH_SHORT).show();
    }
  }
}

备注:Button数量不多的情况下推荐使用第二种,匿名内部类的方式实现;反之则推荐使用第四种,Activity继承View.OnClickListener实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # Button  # 点击事件  # Android开发设置RadioButton点击效果的方法  # Android 点击ImageButton时有“按下”的效果的实现  # Android悬浮按钮点击返回顶部FloatingActionButton  # Android Button按钮的四种点击事件  # Android开发-之监听button点击事件的多种方法  # Android 自定义Button控件实现按钮点击变色  # Android中button点击后字体的变色效果  # Android自定义button点击效果的两种方式  # Android开发之创建可点击的Button实现方法  # Android实现点击Button产生水波纹效果  # 推荐使用  # 自定义  # 第二种  # 第四种  # 不多  # 种方法  # 四种  # 第一种  # 具体内容  # 大家多多  # 情况下  # XML  # view  # layout_above  # layout_marginBottom  # onClick  # text 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解jQuery中基本的动画方法  ,在苏州找工作,上哪个网站比较好?  Laravel怎么使用artisan命令缓存配置和视图  如何在IIS服务器上快速部署高效网站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  教学论文网站制作软件有哪些,写论文用什么软件 ?  创业网站制作流程,创业网站可靠吗?  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  微信推文制作网站有哪些,怎么做微信推文,急?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在阿里云通过域名搭建网站?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  在centOS 7安装mysql 5.7的详细教程  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  中山网站推广排名,中山信息港登录入口?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  原生JS实现图片轮播切换效果  javascript基于原型链的继承及call和apply函数用法分析  浅析上传头像示例及其注意事项  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  大型企业网站制作流程,做网站需要注册公司吗?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  EditPlus中的正则表达式实战(5)  韩国服务器如何优化跨境访问实现高效连接?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何实现文件上传和存储?(本地与S3配置)  三星网站视频制作教程下载,三星w23网页如何全屏?  Python高阶函数应用_函数作为参数说明【指导】  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  使用spring连接及操作mongodb3.0实例  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  如何在Ubuntu系统下快速搭建WordPress个人网站?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  java中使用zxing批量生成二维码立牌  Laravel如何记录自定义日志?(Log频道配置)