android studio 按键点击事件的实现方法

一、onClick属性:

1)、在activity_main.xml中设置button的onClick属性:

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="开灯"
    android:onClick="onClick"
    app:layout_constraintBottom_toTopOf="@+id/textView"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 2)、 在MainActivity.java,添加:      

public void onclick(View view) {

    if(buttonled.getText().toString().equals("开灯")){
        textviewf.setText("灯已开!");
        buttonled.setText("关灯");
    }
    else if(buttonled.getText().toString().equals("关灯")) {
        buttonled.setText("开灯");
        textviewf.setText("灯已关!");
    }
}

二、onClickListener

在MainActivity.java,添加:

buttonled.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(buttonled.getText().toString().equals("开灯")){
            textviewf.setText("灯已开!");
            buttonled.setText("关灯");
        }
        else if(buttonled.getText().toString().equals("关灯")) {
            buttonled.setText("开灯");
            textviewf.setText("灯已关!");
        }
    }
});

三、重写onClick:

在MainActivity.java,添加:

buttonled.setOnClickListener(this);
@Override
public void onClick(View view) {
    if(buttonled.getText().toString().equals("开灯")){
        textviewf.setText("灯已开!");
        buttonled.setText("关灯");
    }
    else if(buttonled.getText().toString().equals("关灯")) {
        buttonled.setText("开灯");
        textviewf.setText("灯已关!");
    }
}

四、创建内部类实现onClickListener:

在MainActivity.java,添加:

buttonled.setOnClickListener(new FButton());
private class FButton implements  View.OnClickListener{
    public void onClick(View v){
        if(buttonled.getText().toString().equals("开灯")){
            textviewf.setText("灯已开!");
            buttonled.setText("关灯");
        }
        else if(buttonled.getText().toString().equals("关灯")) {
            buttonled.setText("开灯");
            textviewf.setText("灯已关!");
        }
    }
}

五、运行效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244101.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Axure自定义元件

目录 1.processOne的使用 ​编辑2.自定义元件的使用、 2.1如何自定义一个元件 2.2使用自定义元件 导语&#xff1a; Axure是绘制原型图的软件&#xff0c;但是我们很多时候不知道&#xff0c;画哪一个板块&#xff0c;所以流程图的绘制也是非常重要的 1.processOne的使用…

冰岛市场开发攻略,带你走进冰火之国

冰岛是北欧五国之一&#xff0c;也是高度发达的资本主义国家&#xff0c;拥有成熟的消费市场&#xff0c;如果想开发冰岛的市场的话&#xff0c;就需要了解一下冰岛的一些情况。下面就给大家来打冰岛的开发攻略&#xff0c;带大家走进冰火之国--冰岛。文章略长&#xff0c;大家…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

生活是自己的,请尽情打扮,尽情可爱

端庄大气又尽显GAO级感 的明制汉服处处都是是惊喜 领口袖口拼接仿貂毛环保毛条 保暖又精致 袖子贴民族风珠片刺绣织带 门襟搭配金属子母扣 前胸欧根纱刺绣圆形布贴 每一处都是用心制作 红色喜庆&#xff0c;用来做拜年服来穿再合适不过啦

ros2+gazebo建立机器人

Building your own robot In this tutorial we will learn how to build our own robot in SDFormat. We will build a simple two wheeled robot.本文用SDF文件建立一个2轮机器人 You can find the finished SDF file for the tutorial here.SDF文件点击下载 What is SDF SD…

电脑和手机中的日历提醒怎么进行同步

作为一名忙碌的现代人&#xff0c;我常常需要在电脑和手机上记录各种日程和提醒。然而&#xff0c;我发现电脑和手机“日历提醒无法同步”是一个令人头疼的问题。如果我在电脑中添加了一个提醒&#xff0c;但是我没有把它同步到我的手机上&#xff0c;那么当我离开电脑时&#…

关于shell的面试题小练习(三道)

目录 第一题&#xff1a;&#xff08;关于内存&#xff09; 第一步&#xff1a;需了解使用的大纲命令 第二步过滤取得具体所需的值 第三步&#xff1a;具体执行步骤及命令 1&#xff09;安装邮件软件 2&#xff09;编辑脚本 方法一&#xff1a;脚本编辑1 方法二&#x…

玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

1. 先抛需求 当一个 K8s 集群需要被多个租户共享时&#xff0c;就涉及到了权限问题&#xff0c;比如你是管理员&#xff0c;这时候你会面临着“给每个用户分配一个 Namespace”类似的需求。 更进一步&#xff0c;可能你需要限制特定用户只能够对集群进行特定的操作&#xff0c;…

Dialogue Transformers:如何解决医学大模型【偏离主诉和没抓住核心】,建立抗干扰的能力,使得发现用户问题会一追到底?

Dialogue Transformers&#xff1a;实现抗干扰能力的对话模型 抗干扰能力基于 Transformer 的实现技术优化目标 抗干扰能力 前置知识&#xff1a;从【注意力机制】开始&#xff0c;到【Transformer】的零基础【大模型】系列 Dialogue Transformers 论文地址&#xff1a;https:/…

如何用CHAT写复习教案?

近日天气恶劣&#xff0c;好多地方的学校都停课了&#xff0c;改为线上学习&#xff0c;那作为老师&#xff0c;如何安排好线上的教学方案呢&#xff1f;下面小编分享下朋友用CHATGPT写的这份复习教案。 问CHAT&#xff1a;一年级语文上册复习计划教案 CHAT回复&#xff1a;教…

网络安全事件分级指南

文章目录 一、特别重大网络安全事件符合下列情形之一的&#xff0c;为特别重大网络安全事件&#xff1a;通常情况下&#xff0c;满足下列条件之一的&#xff0c;可判别为特别重大网络安全事件&#xff1a; 二、重大网络安全事件符合下列情形之一且未达到特别重大网络安全事件的…

HarmonyOS--基础组件Text

Text组件 可以包含Span子组件。 接口 Text(content? : string | Resource) string: Text(我是ttttt) Resource: Text($r(app.string.aaaaaa)) 先找限定词目录&#xff0c;找不到内容 找base目录 属性 除支持通用属性外&#xff0c;还支持以下属性&#xff1a; 名称 参数…

工厂设备数据采集如何更高效?

​随着工业4.0时代的到来&#xff0c;工厂设备数据采集变得越来越重要。然而&#xff0c;在实际的生产环境中&#xff0c;工厂设备数据采集面临着诸多痛点和难点。本文将分析这些痛点和难点&#xff0c;并介绍如何解决这些问题&#xff0c;提高工厂设备数据采集的效率。 一、工…

Linux 线程池源码剖析

1 了解线程池 1-1线程池的概述 由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。 1-2线程池的组件 任务 待处理的工作,通常由标识、上下文和处理…

xilinx 产品系列分类

1. 按照产品代数&#xff0c;分为6代&#xff0c;7代&#xff0c;ultrascale&#xff0c;ultrascale&#xff0c;Versal。6代是较早的器件&#xff0c;现在基本是7代及之后的产品&#xff0c;最新的一代是Versal&#xff0c;网上很多说法提到7系列也即是7代&#xff0c;在第二章…

以柔克刚:软体机器人的柔性革命与无限可能

原创 | 文 BFT机器人 戳“精彩内容”不容错过 你知道什么是软体机器人吗&#xff1f;真的是表面所理解的那样&#xff0c;这个“机器人是软的&#xff1f;”。当然不是啦&#xff01;那下面小编将带你具体解读一下软体机器人的来源与发展。 软体机器人是一类由软体驱动材料构成…

seata的安装及基本使用

seata的安装及基本使用 安装注意事项1. 启动时需要带上seata所在服务器的地址和端口&#xff08;默认是8091&#xff09;2. seata的服务端配置文件application.yml中在配置nacos的namespace时&#xff0c;需要注意的是&#xff1a;对应的值是nacos中namespace的id, 而不是名称&…

3分钟打造私人微信ChatGPT助手:新手友好指南!

接上文&#xff1a; https://mp.weixin.qq.com/s/RCqX0rx7TEu1gIwHEBBWKQ 本文适用于小白用户&#xff0c;技术大佬勿入&#xff01; 前言 这里教大家如何快速的拥有一个属于自己的微信GPT助手 我个人其实不是这么部署的&#xff0c;但是为了方便小白用户&#xff0c;探索了一个…

【AI底层逻辑】——“数学华尔兹”之一元线性回归

一元线性回归模型想必大家都耳熟能详&#xff0c;这里不再赘述。但在使用python中机器学习包时一定见过类似模型评价参数的输出&#xff0c;这一章我们就讲一讲回归分析里一些模型评价概念&#xff01; 一、方差分析ANOVA 方差分析是一种用于确定线性回归模型中不同变量对目标…

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 项目背景 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工程管理的提…