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] 按钮单击事件的五种写法
		在平时学习安卓的过程中,不论是看视频还是看博客,我发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.所以我想把这些写法总结一下,比较下各种写法的优劣,希望可以让自己可以灵 ... 
随机推荐
- 校内训练0602 习题exercise
			[题目大意] f(i)=((Af(i-1)+B)/(Cf(i-1)+D)) mod P. 给出f(0), A, B, C, D, P, n,求f(n). 多组数据T<=1e4 n<=1e1 ... 
- 支持 XML 序列化的 Dictionary
			using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ... 
- malloc,calloc,realloc区别
			malloc:memory allocation calloc:The 'c' indicates 'cleared' realloc:The realloc() function changes t ... 
- UVA 10985 Rings'n'Ropes
			最短路 参考了Staingger的博客 感觉DP的状态记录还是有毛病.可以DFS寻找结果也. #include <map> #include <set> #include &l ... 
- HTML添加上传图片并进行预览
			使用说明:新建文件,直接复制粘贴,保存文件为html 格式,在浏览器运行即可: 第一种: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tr ... 
- 使用webView的时候,出现Error loading page Domain:WebKitErrorDomain Error Code:101 Description: The URL can't be shown
			onShouldStartLoadWithRequest = (e) => {// Implement any custom loading logic here, don't forget t ... 
- [PHP] print_r()函数美化
			function beautiful_print_r($arr){ echo '<pre>'; print_r($arr); echo '</pre>'; } 
- Python与正则表达式[0] -> re 模块的正则表达式匹配
			正则表达式 / Regular Expression 目录 正则表达式模式 re 模块简介 使用正则表达式进行匹配 正则表达式RE(Regular Expression, Regexp, Regex) ... 
- A/B Testing with Practice in Python (Part Two)
			This is the second part of A/B testing notes, which contains the practical issues and alternatives o ... 
- mysql查询含有指定字段的所有表
			SELECT * FROM information_schema.columns WHERE column_name='userId'; TABLE_SCHEMA字段为db的名称(所属的数据库),字段 ... 
