AndroidStudio按钮实现点击响应详细代码

下面代码实现的效果图

方法1.通过在activity_main.xml中设置属性android:onClick="onclick"

<?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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="onclick"android:text="button"android:textSize="25sp"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text=""android:textSize="25sp"/></LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private Button btn;private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button) findViewById(R.id.btn);tv = (TextView) findViewById(R.id.tv);}public void onclick(View v){tv.setText("按钮已经被点击!");}
}
//导入View的快捷键alt+enter

方法二:通过匿名内部类重写onClick()实现事件监听器

<?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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="button"android:textSize="25sp"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text=""android:textSize="25sp"/></LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private Button btn;private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button) findViewById(R.id.btn);tv = (TextView) findViewById(R.id.tv);btn.setOnClickListener(new View.OnClickListener(){public void onClick(View v){tv.setText("按钮已经被点击!");}});}}

方法三:在MainActivity.java实现OnClickListener接口

<?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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="button"android:textSize="25sp"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text=""android:textSize="25sp"/></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity implements View.OnClickListener{private Button btn;private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button) findViewById(R.id.btn);tv = (TextView) findViewById(R.id.tv);//this在当前页面实现接口btn.setOnClickListener(this);}public void onClick(View v){tv.setText("按钮已经被点击!");}}

方法4:创建内部类实现OnClickListener接口类

<?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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="button"android:textSize="25sp"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text=""android:textSize="25sp"/></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity{private Button btn;private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = (Button) findViewById(R.id.btn);tv = (TextView) findViewById(R.id.tv);btn.setOnClickListener(new MyButton());}private class MyButton implements View.OnClickListener{public void onClick(View v){tv.setText("按钮已经被点击!");}}}

AndroidStudio按钮实现点击响应详细代码相关推荐

  1. MUI框架 按钮点击响应不好的问题解决办法

    MUI框架 按钮点击响应不好的问题解决办法 参考文章: (1)MUI框架 按钮点击响应不好的问题解决办法 (2)https://www.cnblogs.com/snowhite/p/10774786. ...

  2. Web前端:JavaScript最强总结 附详细代码 (带常用案例!)

    Web前端基础: Web前端:HTML最强总结 附详细代码 Web前端:CSS最强总结 附详细代码 Web前端:JavaScript最强总结 附详细代码 Web前端工具: Web前端: JQuery最 ...

  3. Web前端:Bootstrap最强总结 附详细代码 (带常用案例!)

    Web前端基础: Web前端:HTML最强总结 附详细代码 Web前端:CSS最强总结 附详细代码 Web前端:JavaScript最强总结 附详细代码 Web前端工具: Web前端: JQuery最 ...

  4. C# .Net 小程序消息推送配置+详细代码

    C# .Net 小程序消息推送配置+详细代码 首先在微信公众平台登录小程序账号    第一步登陆    登录后,在首页-功能-订阅信息,打开后如未进行配置,需要进行后台配置.    第二步:填写服务器 ...

  5. Python开发《外星人入侵》游戏项目,付详细代码和注释

    游戏功能概述:在游戏<外星人入侵>中,玩家控制一艘最初出现在屏幕底部中央的飞船.玩家可以使用箭头键左右移动飞船,还可使用空格键射击.游戏开始时,一群外星人出现在天空中,并向屏幕下方移动.玩 ...

  6. Fer2013 数据集人脸表情识别 详细代码

    Fer2013 数据集人脸表情识别 详细代码 本文将从数据集.模型训练.模型实践应用(AI模型落地场景实际应用)几个部分完整讲解基于Fer2013 数据集的人脸表情识别项目, 最终项目实现效果: 通过 ...

  7. Web前端:HTML最强总结 附详细代码

    Web前端基础: Web前端:HTML最强总结 附详细代码 Web前端:CSS最强总结 附详细代码 Web前端:JavaScript最强总结 附详细代码 Web前端工具: Web前端: JQuery最 ...

  8. python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)

    python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...

  9. HTML5 form表单 调查问卷制作(内含超详细代码解读)

    HTML 表单技术练习:制作调查问卷(内含超详细代码解读) 这一篇来记录HTML5表单API的学习,以制作调查问卷为例,效果如图: 注:完整代码见文章末尾处. 一.表单标签form 1.常用属性 常用 ...

最新文章

  1. Altium Designer铺铜时抠铜
  2. [音乐欣赏]Craigie Hill
  3. 剑指offer: 不用加减乘除做加法
  4. 项目管理纵横谈(1)──项目的管理的目标
  5. 零基础实践深度学习之Python基础
  6. 为什么 SAP 电商云 Spartacus 产品明细页面的自定义 matcher 会重复被调用
  7. 在SAP HANA Express Edition里创建数据库表
  8. __attribute__ 详解
  9. html5内联框去滚动条,如何优雅的实现内联滚动条(前端底部固定方法 )
  10. IG击败TOP进入春季赛决赛 王思聪督战时吃玉米动作亮了
  11. 【Flink】 Flink与Kafka版本对应关系
  12. Filecoin网络存储容量已达3 EB
  13. Html5-canvas
  14. 富文本编辑器KindEditor在前端JS的应用
  15. 最好用的十六进制编辑器010 Editor
  16. 与大家分享学钢琴会出现的一些问题及解决方法
  17. sdformatter格式化选项设置_教大家sdformatter如何进行sd卡低级格式化
  18. 自定义启动 android_什么是自定义Android启动器,以及为什么可能要使用一个
  19. Python Thinker GUI的组件的简单总结
  20. matlab 打开xls文件,matlab中读取excel的xls文件

热门文章

  1. ESP32 之 ESP-IDF 教学(五(2))——使用C++的工程
  2. DC010的精华分享【首发速看】
  3. linux 下写不了文件,linux下用root为什么写不了windows下的文件
  4. 封杀太愚蠢,马斯克喊话解封特朗普推特账号!
  5. android 标题被顶出去,解决安卓虚拟键盘把标题栏顶出屏幕外
  6. 小区隔音墙生产厂家@初心不改,慢煮岁月
  7. 图(Graph)-图的存储
  8. Elasticsearch:如何在搜索时得到精确的总 hits 数
  9. Java实现10万条经纬度数据压缩后只有15k
  10. windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)