全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Android中点击事件的几种实现方式

在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事。今天我们就汇总一下点击事件的实现方式。

点击事件的实现大致分为以下三种:

(1)Activity 实现接口方式实现点击事件(经常使用)

(2)自定义方法,使用配置文件android:onclick

(3)使用内部类方式实现

(4)使用匿名内部类实现介绍下几种点击事件的实现方式:

下面我们通过代码来简单演示下几种点击事件的实现方式:

(1)Activity 实现接口方式实现点击事件

/**
 * Activity 实现接口方式实现点击事件
 * Activity 实现 View.OnClickListener 实现 onClick(View view){} 方法
 * 在 Activity 的 onCreate 方法中注册事件
 */
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
  private Button btn;
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(this);
  }
  public void onClick(View v) {
    Toast.makeText(MainActivity.this,"实现接口方式",Toast.LENGTH_LONG).show();
  }
}

(2)自定义方法,使用layout配置文件android:onclick

/**
 * 使用配置文件方式实现点击事件
 * 在layout中的配置文件中使用onClick 属性指定触发事件时的处理方法,
 * 在 Activity 中提供一个同名的方法 格式为 public void XXX(View v){....}
 */
public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
  public void click(View v){
    Toast.makeText(MainActivity.this,"自定义",Toast.LENGTH_LONG).show();
  }
}

(3)使用内部类方式实现

/**
 * 使用内部类方式实现点击事件
 * 定义一个 View.OnClickListener 的实现类,实现 onClick 方法。
 * 在 Activity 的 onCreate 方法中注册事件
 */
public class MainActivity extends AppCompatActivity {
  private Button btn;
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button) findViewById(R.id.button2);
    btn.setOnClickListener(new Listener());
  }
  class Listener implements View.OnClickListener{
    @Override
    public void onClick(View v) {
      Toast.makeText(MainActivity.this,"内部类",Toast.LENGTH_LONG).show();
    }
  }
}

(4)使用匿名内部类实现

/**
 * 使用匿名内部类方式实现点击事件
 * 注册按钮单击事件时直接使用匿名内部类
 */
public class MainActivity extends AppCompatActivity {
  private Button btn;
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button) findViewById(R.id.button3);
    btn.setOnClickListener(new View.OnClickListener(){
      @Override
      public void onClick(View v) {
        Toast.makeText(MainActivity.this,"匿名内部类",Toast.LENGTH_LONG).show();
      }
    });
  }
}

补充:

不同的组件来实现不同类型的点击事件,例如onItemClickListener,OnCheckedChangeListener,OnRatingBarChangeListener,OnMultiChoiceClickListener,OnDate/timeSetListener,OnScrollListener,OnChildClickListener,setOnTouchListener,OnPageChangeListener,OnMenuItemClickListener,OnEditorActionListener,OnEditorActionListener等等各种点击事件的处理形式。

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


# android  # 实现点击事件  # 点击事件  # 按钮点击事件  # Android中父View和子view的点击事件处理问题探讨  # Android中捕获TTextView文本中的链接点击事件方法  # 简单讲解Android开发中触摸和点击事件的相关编程方法  # Android如何防止多次点击事件  # Android中捕捉menu按键点击事件的方法  # Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新  # Android开发在轮播图片上加入点击事件的方法  # Android点击事件派发机制源码分析  # Android开发-之监听button点击事件的多种方法  # Android给TextView添加点击事件的实现方法  # 配置文件  # 自定义  # 几种  # 博文  # 都不  # 有很多  # 三种  # 问了  # 提供一个  # 来实现  # 不同类型  # 单击  # 大家多多  # 格式为  # 发现了  # 分为以下  # 使用了  # class  # brush  # pre 


相关文章: C#如何序列化对象为XML XmlSerializer用法  网站专业制作公司有哪些,做一个公司网站要多少钱?  电商平台网站制作流程,电商网站如何制作?  如何快速搭建响应式可视化网站?  在线教育网站制作平台,山西立德教育官网?  青岛网站建设如何选择本地服务器?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  招商网站制作流程,网站招商广告语?  如何用花生壳三步快速搭建专属网站?  制作网站的模板软件,网站怎么建设?  C#如何在一个XML文件中查找并替换文本内容  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在景安服务器上快速搭建个人网站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  网站制作公司排行榜,抖音怎样做个人官方网站  深圳网站制作平台,深圳市做网站好的公司有哪些?  建站之星3.0如何解决常见操作问题?  网站制作壁纸教程视频,电脑壁纸网站?  如何设置并定期更换建站之星安全管理员密码?  如何零基础在云服务器搭建WordPress站点?  英语简历制作免费网站推荐,如何将简历翻译成英文?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  已有域名能否直接搭建网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  非常酷的网站设计制作软件,酷培ai教育官方网站?  IOS倒计时设置UIButton标题title的抖动问题  如何解决VPS建站LNMP环境配置常见问题?  *服务器网站为何频现安全漏洞?  移民网站制作流程,怎么看加拿大移民官网?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何用AWS免费套餐快速搭建高效网站?  C#怎么使用委托和事件 C# delegate与event编程方法  实现虚拟支付需哪些建站技术支撑?  黑客如何通过漏洞一步步攻陷网站服务器?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何在万网自助建站中设置域名及备案?  制作网站公司那家好,网络公司是做什么的?  相册网站制作软件,图片上的网址怎么复制?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  宝塔新建站点为何无法访问?如何排查?  山东云建站价格为何差异显著?  如何高效配置IIS服务器搭建网站?  建站主机如何选?高性价比方案全解析  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  建站主机是否属于云主机类型?  广平建站公司哪家专业可靠?如何选择?  建设网站制作价格,怎样建立自己的公司网站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。