方法1 通过id绑定点击监听

实现
findViewById(R.id.home_button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "点击按钮", Toast.LENGTH_LONG).show();}}
);
源码
  • app/src/main/java/com/yyshu/demo1/MainActivity.java
package com.yyshu.demo1;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.home_button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "点击按钮", Toast.LENGTH_LONG).show();}});}
}

方法2 通过android:onClick绑定

注:需要xml视图层增加android:onClick="button_test1"

public void button_test1(View view) {Toast.makeText(MainActivity.this, "点击按钮2", Toast.LENGTH_LONG).show();
}

方法3 继承View.OnClickListener,所有按钮通过onClick触发

注:需要implements View.OnClickListener继承

package com.yyshu.demo1;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends AppCompatActivity implements View.OnClickListener {private Button mButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mButton = (Button) findViewById(R.id.home_button);mButton.setOnClickListener(this);}public void onClick(View v) {switch (v.getId()) {case R.id.home_button:Toast.makeText(MainActivity.this, "点击按钮3", Toast.LENGTH_LONG).show();break;}}
}

视图UI层

  • app/src/main/res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/home_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="16dp"android:text="@string/home_title"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" /><Buttonandroid:id="@+id/home_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="16dp"android:text="@string/home_bitton"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/home_title"app:layout_constraintVertical_bias="0.0" /></androidx.constraintlayout.widget.ConstraintLayout>
  • app/src/main/res/values/strings.xml
<resources><string name="app_name">DEMO1</string><string name="home_title">你好世界!</string><string name="home_bitton">按钮</string>
</resources>

【Android】触发按钮的三种方式相关推荐

  1. Android 使用OpenCV的三种方式(Android Studio)

    from: http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份, ...

  2. android xml解析的三种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了 ...

  3. Android录制音频的三种方式

    对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...

  4. Android解析XML的三种方式

    在Android中提供了三种解析XML的方式:DOM(Document Objrect Model),SAX(Simple API XML),以及Android推荐的Pull解析方式. 如图: 本篇博 ...

  5. Android 音频录制 的三种方式

    对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...

  6. 转载.Android HAL实现的三种方式(1) - 基于JNI的简单HAL设计

    现在在Android上的HAL开发总的来说还是随意性比较大,Android也并没有规范好一个具体的框架,下面我将根据Jollen的Mokoid工程,自己做了一些改动,分别给大家介绍一下三种实现方式. ...

  7. Android 延时操作的三种方式

    在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作. 下面是实现延时操作的三种方法: 一.使用线程的休眠实现 ...

  8. android动画影子效果,Android实现阴影效果的三种方式

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 实现Android阴影共有三种方式:使用.9图(略).设置视图的高度.在layer-list资源文件中模拟阴影效果,本篇 ...

  9. Android数据存储的三种方式-SharedPrefrences,File,SQLite

    1,使用SharedPrefrences 用于简单少量的数据,数据的格式简单:都是普通的字符串,标量类型的值等,比如各种配置信息等等 SharedPrefrences与Editor简介: 创建Shar ...

最新文章

  1. HDU2141(二分查找)
  2. H3C V7平台下的IRF堆叠
  3. 2程序员面试,这200行代码,结果工资相差了8000
  4. Recall(召回率) Precision(准确率) F-Measure E值 sensitivity(灵敏性) specificity(特异性)漏诊率 误诊率 ROC AUC
  5. 看网络电子围栏如何做好周界安防
  6. java 取字符串中的数字_java截取字符串中的数字
  7. 服务器内存不认硬盘_服务器品牌有哪些?如何选择服务器?
  8. IT桔子分布式项目1
  9. 艾媒:ofo活跃用户规模为摩拜近2倍 每10辆共享单车7辆小黄车
  10. LeetCode-118杨辉三角C++详解
  11. C语言 Win静态库
  12. Servlet工作原理
  13. 老闪创业那些事儿(55)——员工的私生活问题
  14. 计算机内存条能装几个,4G内存条和2G内存条能不能装到一个电脑上?
  15. android 打印kernel log,Android native log输出为kernel log方法
  16. IPQ807X/IPQ50XX/IPQ60XX art关闭mac地址随机化设置
  17. 科技爱好者周刊(第 118 期):高考志愿怎么填
  18. C++的64位整数[转]+gyy整理
  19. 多视几何009:对极几何
  20. 图像特征提取之LoG特征

热门文章

  1. 可编程渲染管线4 聚光灯阴影
  2. ios开发之app内启动用户评价
  3. 嵌入式系统项目设计——电子琴(完整代码)
  4. LPDDR和DDR的个人理解随笔(为什么LPDDR3的BA0-BA3是悬空的?)
  5. Linux安装Docker完整教程
  6. HLS AAC音频爆音噗噗滋滋的原因
  7. 2021新年算法小专题—2.股票买卖利润(Java)
  8. 怎样使盒子上下左右居中
  9. jwt私钥和公钥怎么获取_如何为php-jwt生成密钥对?
  10. 白化Whitening