首先,什么是监听器呢?监听器的作用是什么呢?我们如何去使用他?

1.什么是监听器:监听器的作用是什么呢?

监听器顾名思义,一旦你的按钮或者其他组件被你用例如鼠标点击,就会产生一个事件出来,这个事件就需要我们去监听他,监听后并把需要执行的代码给予这个点击事件

2.我们如何去使用他:

首先在XML文件里面需要把组件建立一个唯一的名字,例如:

<Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"/>

然后在java的编程框页面Activity中编写代码,让页面Activity的onCreate方法能够找到这个组件并进行监听,实现方法就是通过匿名内部类来实现点击触发,例如:

强制转换是因为btn1组件的源代码是View类型的,小转大,需要强制转换

用setOnClickListener+匿名内部类的方法监听,重写onClick方法

其中的参数View v是形式参数

public class DemoMainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_demo_main);Button btn= (Button) findViewById(R.id.btn1);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(DemoMainActivity.this, "这个按钮被点击了,这是提示框", Toast.LENGTH_SHORT).show();}});}
}

目前主流的有两种办法为普通按钮添加单击事件监听器

一种是上面介绍的匿名内部类作为单击事件监听器

一种是onClick属性实现,相当于在布局文件中调用方法

接下来讲第二种方法:

xml中的代码如下,添加多一个按钮在相对布局管理器中,并设置ID,重点是设置onClick相当于去java中调用该方法

<Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/btn2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="btn2"android:layout_below="@+id/btn1"android:onClick="myOnClick"/>

java代码如下:

相当于另外写一个自定义的方法,在方法里面实现语句功能

public class DemoMainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_demo_main);Button btn= (Button) findViewById(R.id.btn1);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(DemoMainActivity.this, "这个按钮被点击了,这是提示框", Toast.LENGTH_SHORT).show();}});}public void myOnClick(View view){Toast.makeText(DemoMainActivity.this, "这个按钮2被点击了,这是提示框", Toast.LENGTH_SHORT).show();}
}

总结

Android studio的监听器初学者要懂相关推荐

  1. 更改API级别的Android Studio

    本文翻译自:Changing API level Android Studio I want to change the minimum SDK version in Android Studio f ...

  2. android 修改已建工程的api版本,更改API级Android Studio

    哆啦的时光机 如果要在现有项目中更新minSdkVersion ...更新build.gradle(Module: app) - 确保是Gradle脚本下的那个,它不是 build.gradle(Pr ...

  3. Android Studio初学者实例:仿拼多多砍价页面

    本次实验较为综合,主要是用到了RecyclerView.okhttp库(用于网络访问).gson库(解析json数据).tomacat(服务器存放图片.文字等),所以代码较多,但知识点常用,如果毕设. ...

  4. 《Android App开发入门:使用Android Studio 2.X开发环境》——导读

    前 言 学习 Android 程序设计一直困扰着许多初学者,原因有两个.首先,必须学会使用 Java 程序设计语言,并且要懂 Android 的 XML词汇,然后才能开始学习 Android 的程序设 ...

  5. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  6. android studio视频教程

     导语:随着Eclipse在Android开发中逐渐被冷落和淘汰,其现在已经停止了更新,大部分人也越来越重视了AS的使用,很多人都已经慢慢转向了使用AS开发Android应用.对于一些还没有转移阵 ...

  7. Android studio实现网上订餐app

    目录 一.应用分析 1.1应用总体描述 1.2应用开发环境 1.3应用模块说明 二.效果展示 2.1店铺界面 2.2店铺详情界面 2.3菜品详情界面 2.4订单界面 三.服务器数据准备 四.店铺功能业 ...

  8. Android Studio 视频教程分享

    导语:随着Eclipse在Android开发中逐渐被冷落和淘汰,其现在已经停止了更新,大部分人也越来越重视了AS的使用,很多人都已经慢慢转向了使用AS开发Android应用.对于一些还没有转移阵地的同 ...

  9. Android Studio 实现音乐播放器

    目录 一.引言 视频效果展示: 图片效果展示: .启动页效果 2.登录页效果 3.注册页效果 4.歌曲列表页效果 5.播放页效果 二.详细设计 1.登陆注册功能 2.音乐列表页面 2.音乐播放功能 一 ...

最新文章

  1. spring mvc hello
  2. JBox2D For Android - hello box2d
  3. 有源蜂鸣器的驱动设计
  4. hadoop服务器系统设置win10,win10系统hadoop安装配置的设置技巧
  5. select、poll与epoll的优缺点
  6. 4.数据库数据导入查询数据库信息出现乱码问题
  7. ATSC /DVB SI/PSI 主要的区别
  8. PageHelper.startPage();的使用
  9. 六大危害不容忽视 笔记本外接显示器杂谈
  10. 我是一个大器晚成的投资人
  11. java验证图片大小_java 校验图片的大小、尺寸、比例
  12. 正片工艺、负片工艺,这两种PCB生产工艺的差异到底是什么?
  13. 频域串联滞后校正matlab,控制工程基础(基于Matlab的线性系统串联校正)
  14. 奶牛专题2:奶牛晒衣服
  15. 号脉数据中心全生命周期,业务永续从细节做起
  16. uni一t 说明书_UNI-T 优利德 UT202 钳形万用表 日常生活使用体验
  17. 无人机满世界惹祸 各国纷纷立法应对
  18. SHA256安全散列算法的Javascript实现
  19. 调用浏览器打印显示不全的解决办法。
  20. office怎么像wps一样多栏_工作中常用的两个工作软件,你觉得WPS和office哪个好用?...

热门文章

  1. php.h: No such file or directory
  2. Mysql复制-Slave库设置复制延迟
  3. 12.4scrum report
  4. hwnd = 0 各种粗心大意啊!
  5. 牛客16596 计算系数(排列组合)
  6. 计算机网络(一)-概述
  7. Mybatis中example的使用
  8. 数据库存取BLOB类型音乐文件的过程及常见错误
  9. php根据分类生成网址,PHP实现无限极分类生成分类树的方法
  10. linux 测试cpu计算圆周率_Linux下测试CPU性能