【Android】触发按钮的三种方式
方法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】触发按钮的三种方式相关推荐
- Android 使用OpenCV的三种方式(Android Studio)
from: http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份, ...
- android xml解析的三种方式
2019独角兽企业重金招聘Python工程师标准>>> 在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了 ...
- Android录制音频的三种方式
对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...
- Android解析XML的三种方式
在Android中提供了三种解析XML的方式:DOM(Document Objrect Model),SAX(Simple API XML),以及Android推荐的Pull解析方式. 如图: 本篇博 ...
- Android 音频录制 的三种方式
对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...
- 转载.Android HAL实现的三种方式(1) - 基于JNI的简单HAL设计
现在在Android上的HAL开发总的来说还是随意性比较大,Android也并没有规范好一个具体的框架,下面我将根据Jollen的Mokoid工程,自己做了一些改动,分别给大家介绍一下三种实现方式. ...
- Android 延时操作的三种方式
在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作. 下面是实现延时操作的三种方法: 一.使用线程的休眠实现 ...
- android动画影子效果,Android实现阴影效果的三种方式
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 实现Android阴影共有三种方式:使用.9图(略).设置视图的高度.在layer-list资源文件中模拟阴影效果,本篇 ...
- Android数据存储的三种方式-SharedPrefrences,File,SQLite
1,使用SharedPrefrences 用于简单少量的数据,数据的格式简单:都是普通的字符串,标量类型的值等,比如各种配置信息等等 SharedPrefrences与Editor简介: 创建Shar ...
最新文章
- HDU2141(二分查找)
- H3C V7平台下的IRF堆叠
- 2程序员面试,这200行代码,结果工资相差了8000
- Recall(召回率) Precision(准确率) F-Measure E值 sensitivity(灵敏性) specificity(特异性)漏诊率 误诊率 ROC AUC
- 看网络电子围栏如何做好周界安防
- java 取字符串中的数字_java截取字符串中的数字
- 服务器内存不认硬盘_服务器品牌有哪些?如何选择服务器?
- IT桔子分布式项目1
- 艾媒:ofo活跃用户规模为摩拜近2倍 每10辆共享单车7辆小黄车
- LeetCode-118杨辉三角C++详解
- C语言 Win静态库
- Servlet工作原理
- 老闪创业那些事儿(55)——员工的私生活问题
- 计算机内存条能装几个,4G内存条和2G内存条能不能装到一个电脑上?
- android 打印kernel log,Android native log输出为kernel log方法
- IPQ807X/IPQ50XX/IPQ60XX art关闭mac地址随机化设置
- 科技爱好者周刊(第 118 期):高考志愿怎么填
- C++的64位整数[转]+gyy整理
- 多视几何009:对极几何
- 图像特征提取之LoG特征