Android学习(一) 按钮的事件
用户登录
1、内部匿名类方式实现
layout
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- tools:context=".MainActivity" >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="80dp"
- android:layout_height="35dp"
- android:textSize="16dp"
- android:gravity="bottom"
- android:text="@string/lab_loginid" />
- <EditText
- android:id="@+id/editText1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@+id/textView1"
- android:hint="@string/txt_hint_loginid" />
- <TextView
- android:id="@+id/textView2"
- android:layout_width="80dp"
- android:layout_height="35dp"
- android:textSize="16dp"
- android:gravity="bottom"
- android:layout_below="@+id/textView1"
- android:text="@string/lab_loginpwd" />
- <EditText
- android:id="@+id/editText2"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@+id/editText1"
- android:layout_toRightOf="@+id/textView2"
- android:ems="10"
- android:hint="@string/txt_hint_loginpwd"
- android:inputType="textPassword" >
- </EditText>
- <Button
- android:id="@+id/button1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@+id/textView2"
- android:text="@string/btn_login" />
- <ImageButton
- android:id="@+id/imageButton1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@+id/button1"
- android:src="@drawable/ic_btnlogin"/>
- </RelativeLayout>
java代码
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 获取页面中的按钮对象
- Button btnlogin = (Button) findViewById(R.id.button1);
- // 添加事件,匿名内部类方式
- btnlogin.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- String loginid = ((EditText) findViewById(R.id.editText1)).getText().toString();
- String loginpwd = ((EditText) findViewById(R.id.editText2)).getText().toString();
- if (loginid.equals("admin") && loginpwd.equals("123123")) {
- //页面上弹出提示
- Toast.makeText(MainActivity.this, "登录成功", 1).show();
- } else {
- Toast.makeText(MainActivity.this, "登录失败", 1).show();
- }
- }
- });
- }
- }
2、外部类方式实现
首先定义个类,实现OnClickListener接口
- btnclickListener.java
- public class btnclickListener implements OnClickListener {
- @Override
- public void onClick(View arg0) {
//当调用公共的事件时,可以采用这种方式- System.out.println("onclick");
- Log.e("click", "外部类点击事件");
- }
- }
MainActivity.java
- btnlogin.setOnClickListener(new btnclickListener(){
- @Override
- public void onClick(View arg0) {
- super.onClick(arg0); //调用父类的事件,也就是btnclickListener的Click事件
- Toast.makeText(MainActivity.this, "登录成功", 1).show();
- }
- });
3、接口方式实现事件
首先用当前Activity继承事件接口,并实现事件方法,然后设置setOnClickListener方法使用this。
- public class MainActivity extends Activity implements OnClickListener{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 获取页面中的按钮对象
- Button btnlogin = (Button) findViewById(R.id.button1);
- //接口方式实现事件
- btnlogin.setOnClickListener(this);
- }
- @Override
- public void onClick(View arg0) {
- Log.i("接口方式实现事件", "接口方式实现事件");
- }
- }
Android学习(一) 按钮的事件的更多相关文章
- Android学习系列(43)--使用事件总线框架EventBus和Otto
事件总线框架 针对事件提供统一订阅,发布以达到组件间通信的解决方案. 原理 观察者模式. EventBus和Otto 先看EventBus的官方定义: Android optimized event ...
- Android代码规范----按钮单击事件的四种写法
[前言] 按钮少的时候用第三种的匿名内部类会比较快,比如写demo测试的时候或者登陆界面之类. 按钮多的时候一般选择第四种写法. 一.第一种写法:在XML文件中声明onClick属性(很少用) 在XM ...
- Android学习-----Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- Android学习笔记点击事件和触摸事件的区别
当我们点击手机屏幕的时候Android系统不仅会触发单击事件,还会触发触摸事件.在Android中它会先触发触摸事件,如果这个触摸事件没有被消费掉再去触发单击事件 代码示例: MainActivty. ...
- android 学习第一天 了解事件机制,页面跳转等常用操作
点击时间2种 第一种,通过初始化页面 写入点击事件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI ...
- Android Studio 增加按钮响应事件
在xml文件里增加android:onClick属性 比如: android:onClick=doanything 然后写响应方法 public void doanything(View v) { . ...
- Android学习笔记长按事件的处理
常见的长按事件 代码示例: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns ...
- 转--Android按钮单击事件的四种常用写法总结
这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下 很多学习Android程序设计的人都会发现每个人对代码的 ...
- Android按钮单击事件的四种常用写法总结
很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可 ...
- [Android] 按钮单击事件的五种写法
在平时学习安卓的过程中,不论是看视频还是看博客,我发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.所以我想把这些写法总结一下,比较下各种写法的优劣,希望可以让自己可以灵 ...
随机推荐
- laravel的elixir和gulp用来对前端施工
使用laravel elixer npm install --global gulp ok 然后在安装好的laravel 下 npm install 以安装 laravel-elixir subli ...
- win8启用.net framework3.5方法
管理员命令下执行dism.exe /online /enable-feature /featurename:NetFX3 /Source:L:\sources\sxs
- 【IDEA】IDEA设置修改完JS和JSP不用重启的办法(IDEA热部署)
修改完JS和JSP不停的重启服务器真的很烦,所以设置修改完之后不用重启也生效: 前提有两个: 确保使用的是debug模式. 确保tomcat是由idea实例化的.也就是说tomcat是在idea中配置 ...
- (九)ubuntu解决resolv.conf被重写问题
解决resolv.conf被重写问题 来源:http://www.cnblogs.com/lanxuezaipiao/p/3613497.html 第二步中你虽然配置了DNS,但是每次重启虚拟机或重启 ...
- 【leetcode】500. Keyboard Row
问题描述: Given a List of words, return the words that can be typed using letters of alphabet on only on ...
- 给notepad++加nppFtp插件连接ubuntu编写文本
打开notepad++的菜单栏中的插件,如果没有“插件管理”,去https://github.com/ashkulz/NppFTP/releases/tag/v0.27.2,下载对应的版本,将其解压后 ...
- 制作servlet模板
制作servlet模板 选中window-->preference--->搜索template--->选中java下面的template new一个 Name的设置,当你在eclip ...
- vim注释颜色更改
通过putty或者securecrt连到linux服务器,使用vi编辑*.php 或*.c文件时, 蓝色的注释很淡,看不清,看起来很费眼 效果如下 我本身有习惯于默认配色,不想修改配色方案,只想把看不 ...
- C#读取JSON字符串
下面这个是一段JSON字符串宏观图 下面我们通过C#读取JSON字符串里的任何一个数值 string jsonString="上面JSON字符串"; //需要引用Newtonsof ...
- 利用System.Net.Mail 发送邮件
我这里只是试了一下发mail的功能,感觉.net自带的发mail是比较全的,还是直接上我的code 参数文章:System.Net.Mail 发送邮件 SMTP协议 using System; usi ...