全网整合营销服务商

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

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

Android onClick方法与setOnClickListener方法对比

Android onClick 与 setOnClickListener区别

为Android Widgets添加点击事件处理函数又两种方法,一个是在Xml文件中添加onClick属性,然后在代码中添加对应的函数。另一个是直接在代码中添加setOnClickListener函数。两者什么区别呢?以Button控件为例讲解一下。

方法一

在Xml中添加onClick属性

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <Button
    android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Press Me"
    android:onClick="buttonClick"/>
</RelativeLayout>

在代码中添加对应的函数buttonClick,注意要添加到当前Activity对应的java类中。

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  public void buttonClick(View view) {
    Toast.makeText(this, "Button was clicked", Toast.LENGTH_SHORT).show();
  }
  
  // ....
}

方法二

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = (Button)findViewById(R.id.mybutton);
    button.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Button was clicked", Toast.LENGTH_SHORT).show();
      }
    });
  }
}

两者的共同点

两者底层没有区别。

两者的区别

使用第一种方法的注意事项:

1. 事件处理函数必须是public的。

2. 事件处理函数必须在Activity中定义。

3. 事件处理函数必须有一个View类型的参数。

4. 只能用在API Level 4及以后的版本。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android:onClick  #   # setOnClickListener区别  # Android  # onClick  # setOnClickListener对比  # Android ButtonOnClick事件的写法总结  # 详谈Android中onTouch与onClick事件的关系(必看)  # Android onClick按钮单击事件的四种常用写法  # Android响应事件onClick方法的五种实现方式小结  # Android ListView 子控件onClick正确获取position的方法  # Android使用TextView  # 设置onClick属性无效的解决方法  # 三种Android单击事件onclick的实现方法  # Android中button实现onclicklistener事件的两种方式  # Android 布局中的android:onClick的使用方法总结  # 是在  # 两种  # 希望能  # 为例  # 种方法  # 谢谢大家  # 用在  # 有一个  # 类中  # 什么区别  # layout_width  # layout_height  # match_parent  # apk  # schemas  # res  # http  # layout_centerInParent  # mybutton  # wrap_content 


相关文章: 建站之星展会模版如何一键下载生成?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  建站之星Pro快速搭建教程:模板选择与功能配置指南  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  建站之星2.7模板:企业网站建设与h5定制设计专题  大同网页,大同瑞慈医院官网?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  文字头像制作网站推荐软件,醒图能自动配文字吗?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  教学网站制作软件,学习*后期制作的网站有哪些?  如何在建站之星绑定自定义域名?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  ,网站推广常用方法?  如何通过FTP空间快速搭建安全高效网站?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  上海网站制作开发公司,上海买房比较好的网站有哪些?  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何通过云梦建站系统实现SEO快速优化?  如何设置并定期更换建站之星安全管理员密码?  如何确认建站备案号应放置的具体位置?  宝塔建站助手安装配置与建站模板使用全流程解析  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  C++如何使用std::optional?(处理可选值)  如何快速搭建高效简练网站?  如何制作网站标识牌,动态网站如何制作(教程)?  建站之星导航如何优化提升用户体验?  如何在Windows虚拟主机上快速搭建网站?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站之星安装失败:服务器环境不兼容?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  广州建站公司哪家好?十大优质服务商推荐  学校免费自助建站系统:智能生成+拖拽设计+多端适配  招贴海报怎么做,什么是海报招贴?  如何快速使用云服务器搭建个人网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何做网站制作流程,*游戏网站怎么搭建?  建站之星展会模板:智能建站与自助搭建高效解决方案  建站之星在线客服如何快速接入解答?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  太原网站制作公司有哪些,网约车营运证查询官网?  建站之星如何实现PC+手机+微信网站五合一建站?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  做企业网站制作流程,企业网站制作基本流程有哪些?  网站网页制作专业公司,怎样制作自己的网页? 

您的项目需求

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