一、按钮响应事件的四种方式

整体布局

沿用登录界面,对登录按钮进行事件响应处理

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:shrinkColumns="1"android:stretchColumns="2,3"
>
<!--    第一行--><TableRowandroid:id="@+id/tableRow0"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/iv_1"android:layout_width="100dp"android:layout_height="100dp"android:background="#F8F6F6"android:src="@drawable/touxiang"android:scaleType="fitXY"/></TableRow><!--    第二行--><TableRowandroid:id="@+id/tableRow1"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView1"android:layout_width="55dp"android:layout_height="wrap_content"android:text="用户名:"android:textSize="40px"android:layout_column="1" /><EditTextandroid:id="@+id/editText1"android:layout_width="80dp"android:layout_height="wrap_content"android:minWidth="100px"android:textSize="40px"android:hint="廖燕霞"android:textColor="#E91E63"android:maxLength="10"android:lines="1"android:selectAllOnFocus="true"android:layout_column="2" /><TextViewandroid:id="@+id/textView1_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="   "android:textSize="100px"android:layout_column="3" /></TableRow><!--    第三行--><TableRowandroid:id="@+id/tableRow2"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView2"android:layout_width="55dp"android:layout_height="wrap_content"android:text="密   码:"android:textSize="40px"android:layout_column="1" /><EditTextandroid:id="@+id/editText2"android:layout_width="80dp"android:layout_height="wrap_content"android:minWidth="100px"android:textSize="40px"android:hint="请输入10位数字密码"android:textColor="#E91E63"android:maxLength="10"android:lines="1"android:digits="1234567890"android:selectAllOnFocus="true"android:layout_column="2" /><TextViewandroid:id="@+id/textView1_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="   "android:textSize="100px"android:layout_column="3" /></TableRow><!--    第四行--><TableRowandroid:id="@+id/tableRow3"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"><Buttonandroid:id="@+id/button1"android:layout_width="55dp"android:layout_height="wrap_content"android:text="注 册"android:textSize="40px"android:layout_column="1" /><Buttonandroid:id="@+id/button2"android:layout_width="80dp"android:layout_height="wrap_content"android:text="登 录"android:textSize="40px"android:layout_column="2"android:onClick="click"/><TextViewandroid:id="@+id/textView1_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="   "android:textSize="100px"android:layout_column="3" /></TableRow><!--    第四行--><TableRowandroid:id="@+id/tableRow4"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tv4"android:layout_width="match_parent"android:layout_height="48dp"android:gravity="center"android:text="@string/baidu"android:textSize="50px" ></TextView></TableRow>
</TableLayout>

1.通过布局文件中添加onClike事件重载处理

public class MainActivity extends AppCompatActivity {Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.logindemo);button=(Button)findViewById(R.id.button2);}//重载public void ClickButton2(View view){button.setText("(布局文件onclike)正在登陆中...");}
}

效果

2.利用匿名内部类方式处理

public class MainActivity extends AppCompatActivity {Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.logindemo);button=(Button)findViewById(R.id.button2);//匿名内部类button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {button.setText("(匿名内部类)正在登陆中...");}});}
}

效果

3.利用外部类方式处理

public class MainActivity extends AppCompatActivity {Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.logindemo);button=(Button)findViewById(R.id.button2);//关键button.setOnClickListener(new MyListener());}//外部类class MyListener implements View.OnClickListener {@Overridepublic void onClick(View v) {button.setText("(外部类)正在登陆中...");}}
}

效果

4.利用Lambda表达式处理

Lambda环境配置见:https://blog.csdn.net/qq_18625571/article/details/104466610

public class MainActivity extends AppCompatActivity {Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.logindemo);button=(Button)findViewById(R.id.button2);//Lambda表达式button.setOnClickListener(v->button.setText("(Lambda)正在登陆中..."));}
}

效果

Android按钮响应事件的四种方式相关推荐

  1. android按钮响应事件吗,Android 按钮响应事件的几种方式

    目录 1.在布局中指定onClick属性 布局代码 android:id="@+id/btn1" android:layout_width="wrap_content&q ...

  2. android四种点击事件,android点击事件的四种方式

    android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...

  3. svg鼠标响应事件的四种方法(其中两种可支持火狐)

    svg鼠标响应事件的四种方法 鼠标响应事件的四种方法,以click事件为例. Mouse Events - SMIL <?xml version="1.0" encoding ...

  4. Android中点击事件的四种写法

    Android中点击事件的四种写法 使用内部类实现点击事件 使用匿名内部类实现点击事件 让MainActivity实现View.OnClickListener接口 通过布局文件中控件的属性 第一种方法 ...

  5. android xpath解析xml,Android 中处理 XML 的四种方式-DOM

    Android 中处理 XML 的几种方式连载中,我们就不介绍合成 XML 了,因为合成 XML 可以直接拼接字符串,虽然看起很不高大上,但却很有效.我们主要介绍如何取 XML 中的值. 适用 DOM ...

  6. Android代码规范----按钮单击事件的四种写法

    [前言] 按钮少的时候用第三种的匿名内部类会比较快,比如写demo测试的时候或者登陆界面之类. 按钮多的时候一般选择第四种写法. 一.第一种写法:在XML文件中声明onClick属性(很少用) 在XM ...

  7. [Android] 按钮单击事件的五种写法

    在平时学习安卓的过程中,不论是看视频还是看博客,我发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.所以我想把这些写法总结一下,比较下各种写法的优劣,希望可以让自己可以灵 ...

  8. android 辅助功能 模拟点击,Android模拟点击的四种方式

    导论 在Android中模拟一个点击事件有三种方式是通过模拟MotionEvent来实现:一种是通过ADB来实现:一种是通过Instrumentation测试框架来实现 第一种:模拟MotionEve ...

  9. Android模拟点击的四种方式

    导论 在Android中模拟一个点击事件有三种方式是通过模拟MotionEvent来实现:一种是通过ADB来实现:一种是通过Instrumentation测试框架来实现 第一种:模拟MotionEve ...

最新文章

  1. HDU1203_I NEED A OFFER!【01背包】
  2. css表格文字超数量就竖排_绝了,超轻量级中文 OCR,你值得拥有
  3. Webbrowers控件的小技巧
  4. 一堂如何提高代码质量的培训课【转】
  5. 检测日期格式是否为yyyy-MM-dd
  6. Educational Codeforces Round 80 (Rated for Div. 2) E. Messenger Simulator 思维 + 树状数组
  7. 对于新生代农民工,你有什么想说的?
  8. 组策略设置IE 11的Compatible View
  9. 好用的书法字体素材,可以用于各种项目;从商标和品牌到邀请、海报等
  10. js作为参数,并且返回值;js的回调模式 callback
  11. dorado 刷新_dorado BDF常见问题
  12. 【目标定位】基于matlab扩展卡尔曼滤波目标定位仿真【含Matlab源码 128期】
  13. gmssl java_GMSSL编译运行Java Wrapper踩坑记录
  14. 北京地标《信息化项目软件开发费用测算规范》完成公开征求意见
  15. markdown语法的使用
  16. vue 微信html,vue 实现微信端网页分享
  17. yelp实现mysql写Kafka_实时将Cassandra数据引流到Kafka(下)
  18. Python3-StringIO和BytesIO的总结
  19. CSDN技能树测评:开宗立派但仍需精雕细琢
  20. 北京航天技术交流之行:北京和上海地铁的观感

热门文章

  1. 超强大的头像制作神器,支持外卖CPS等优惠劵CPS微信小程序源码支持多种流量主模式
  2. 常见PCB表面处理工艺及比较
  3. U盘中Kiss病毒之后
  4. AutoCAD | CAD开发工具
  5. webdriver反爬
  6. childNodes简单解析
  7. C#开发实战随笔----001 圆形按钮设计
  8. Python编程进阶——面向对象2
  9. 几种常见接地的你都知道怎么用吗?
  10. qimage 像素 替换颜色_像素画基础规则新手快速入门教程