用户登录

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学习(一) 按钮的事件的更多相关文章

  1. Android学习系列(43)--使用事件总线框架EventBus和Otto

    事件总线框架 针对事件提供统一订阅,发布以达到组件间通信的解决方案. 原理 观察者模式. EventBus和Otto 先看EventBus的官方定义: Android optimized event ...

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

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

  3. Android学习-----Button点击事件几种写法

    Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...

  4. Android学习笔记点击事件和触摸事件的区别

    当我们点击手机屏幕的时候Android系统不仅会触发单击事件,还会触发触摸事件.在Android中它会先触发触摸事件,如果这个触摸事件没有被消费掉再去触发单击事件 代码示例: MainActivty. ...

  5. android 学习第一天 了解事件机制,页面跳转等常用操作

    点击时间2种 第一种,通过初始化页面 写入点击事件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI ...

  6. Android Studio 增加按钮响应事件

    在xml文件里增加android:onClick属性 比如: android:onClick=doanything 然后写响应方法 public void doanything(View v) { . ...

  7. Android学习笔记长按事件的处理

    常见的长按事件 代码示例: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns ...

  8. 转--Android按钮单击事件的四种常用写法总结

    这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下     很多学习Android程序设计的人都会发现每个人对代码的 ...

  9. Android按钮单击事件的四种常用写法总结

    很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可 ...

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

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

随机推荐

  1. tips 前端 背景与元素的透明和模糊

    碰到好几次这样的情况了: 一个带点儿文艺效果 背景图片模糊 而一行别致的文字清晰的悬浮在背景上(口胡,加点美好的想象,生活会更美好) 第一反应是 this is easy. cause i know ...

  2. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式

    如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty.Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式 ...

  3. Topcoder SRM 602 div1题解

    打卡- Easy(250pts): 题目大意:rating2200及以上和2200以下的颜色是不一样的(我就是属于那个颜色比较菜的),有个人初始rating为X,然后每一场比赛他的rating如果增加 ...

  4. 手动删除Win7系统服务列表中残留服务的操作步骤

    卸载tomcat的时候服务用cmd运行不能删除 需要用管理员才能删除 手动删除Win7系统服务列表中残留服务的操作步骤分享给大家,在使用深度Win7系统过程中,将一些程序删除后,有些在服务列表中还会残 ...

  5. roadhogrc.mock.js配置

    1.roadhogrc.mock.js const fs=require('fs'); const path=require('path'); const mockPath=path.join(__d ...

  6. Photoshop  cs6 快捷键命令大全

    工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具.单行单列选取工具 [M] 裁剪工具.透视.切片.透视裁剪工具 [C] 移动工具 [V] 套索.多边形套索.磁 ...

  7. CGRectInset、CGRectOffset、等对比整理

    http://blog.sina.com.cn/s/blog_76f3236b01013zmk.html   分类: iphone有关 1.CGRectInsetCGRect CGRectInset ...

  8. UVA 11925:Generating Permutations(冒泡排序 Grade D)

    VJ题目链接 题意:n个数(n<300),是一个1~n的某个排列.有两种操作:操作1把前两个数换位置,操作2把第一个数移动到最后.问给出一个排列,问通过怎样的操作,能把1,2,3,...,n变到 ...

  9. 小白到web前端工程师需要学习哪些知识?

    随着web3.0时代,那么web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为we ...

  10. 牛客网 牛客练习赛7 B.购物-STL(priority_queue)

    B.购物 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 在遥远的东方,有一家糖果专卖店 这家糖果 ...