四种点击事件
     (1)采用内部类的方式去实现OnClickListener
     (2)匿名内部类
     (3)当前类imp OnClickListener
     (4)onclick

1、设置按钮的单击事件的监听器,创建匿名内部类
        bt_call.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                //拨打电话号码
                String phone = et_phone.getText().toString().trim();
                Intent intent = new Intent();
                
                intent.setAction(Intent.ACTION_CALL);
                System.out.println("phone="+phone);
                intent.setData(Uri.parse("tel://"+phone));
                startActivity(intent);
            }
        });

2、创建一个内部类
    private class MyOnClickListener implements OnClickListener{

@Override
        public void onClick(View v) {
            //拨打电话号码
            String phone = et_phone.getText().toString().trim();
            Intent intent = new Intent();
            
            intent.setAction(Intent.ACTION_CALL);
            System.out.println("phone="+phone);
            intent.setData(Uri.parse("tel://"+phone));
            startActivity(intent);            
        }
        
    }

//别忘记给按钮添加一个单击事件的监听器
    bt_call.setOnClickListener(new MyOnClickListener());

3、在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法
    (1)在布局文件中给按钮添加一个单击事件的响应方法
        <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="拨打"
       android:id="@+id/bt_call"
       android:onClick="call"
      />

(2)在代码中实现这个方法
    //view 表示的是按钮这个视图
    public void call(View view){
        //拨打电话号码
        String phone = et_phone.getText().toString().trim();
        Intent intent = new Intent();
        
        intent.setAction(Intent.ACTION_CALL);
        System.out.println("phone="+phone);
        intent.setData(Uri.parse("tel://"+phone));
        startActivity(intent);        
    }

.四种方法写按钮点击事件

1.匿名内部类的方式
        2. 创建一个类实现onclickListener,实现onclick方法,设置控件点击事件时传一个类的对象。
        3. 让当前类实现onclickListener,设置控件点击事件时传一个this。这种方式适合按钮比较多的情况,一般在公司采用该方式。
        4. 在布局文件中为控件添加一个onclick属性,在布局对应的Activity中写一个一onclick属性值为名的方法,要public,传一个View类型的参数。比较适合做简单的测试。

android中的4种点击事件的更多相关文章

  1. Android中Button四种点击事件实现方式

    1.Xml添加监听属性,这里添加的doClick. <Button android:id="@+id/bt1" android:layout_width="wrap ...

  2. Android按钮的四种点击事件

    本文记录一下按钮的四种点击事件 第一种 public class MainActivity extends Activity { @Override protected void onCreate(B ...

  3. android学习之4种点击事件的响应方式

    如题,下面就一一列出对点击事件响应的4种方式: 第一种:内部类的形式: package com.example.dail; import android.net.Uri; import android ...

  4. Android 组件的三种点击事件写法

    一.准备工作 1.项目结构 2.布局文件(activity_main.xml) <?xml version="1.0" encoding="utf-8"? ...

  5. 关于android中,菜单按钮点击事件首次执行之后再次执行需要双击按钮的问题

    有时候在获取事件的时候,需要双击才能获取,解决方法很简单,把返回值设为true,那么这个事件就不会再分发了,我预计是设为其他值会继续分发,造成事件的相应混乱

  6. Android Button的四种点击事件

    bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...

  7. Android入门——电话拨号器和四种点击事件

    相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...

  8. Android入门——电话拨号器和4种点击事件

    关于HelloWorld为,电话拨号程序还AndroidA入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1.  ...

  9. iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath(汇总)

    iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath 首先分析有几种原因,以及相应的解决方法 1.UITableViewCell的userInterac ...

随机推荐

  1. Oracle- UPDATE FROM讲解

    在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.像sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通 ...

  2. 虚方法(virtual)和抽象方法(abstract)的区别

    注:本文转载自 http://www.cnblogs.com/michaelxu/archive/2008/04/01/1132633.html 虚方法和抽象方法都可以供派生类重写,它们之间有什么区别 ...

  3. 一、FreeMarker 模版开发指南 第一章 入门

    所有资料来自 南磊 翻译的官方文档,我弄简单了,适合自己以后拿出来翻看. 章节内容如下: 简介 模板+数据模型=输出 数据模型一览 模板一览 一.模板  +  数据模型  =  输出 输出结果: &l ...

  4. sql STUFF用法

    sql STUFF用法 1.作用 删除指定长度的字符,并在指定的起点处插入另一组字符. 2.语法 STUFF ( character_expression , start , length ,char ...

  5. OC/Swift第三方添加出错解决方法

    (未经同意,不得转载!) ------------------------华丽分割线-----------------------

  6. spring占位符解析器---PropertyPlaceholderHelper

    一.PropertyPlaceholderHelper 职责 扮演者占位符解析器的角色,专门用来负责解析路劲中or名字中的占位符的字符,并替换上具体的值 二.例子 public class Prope ...

  7. 安装好Windows 8后必做的几件事情,让你的Win8跑的更快更流畅。

    1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态. 关闭方法:Win+C-设置-更改电脑设置-家庭组-离开 如果用不到家庭组可以直接把家庭组服务也给关闭了:控制面板-管理工具-服务-Home ...

  8. 教你50招提升ASP.NET性能(四):精选的技巧

    (4)A selection of tips 招数4: 精选的技巧 Make sure HTTP compression is turned on for any uncompressed conte ...

  9. cocos2d-x 纹理研究

    转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...

  10. 【转】C++ 笔试面试题目

    原文:http://blog.csdn.net/txgc1009/article/details/6700830 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答.企业要求面试者写一个最简单的 ...