四种点击事件
     (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. js为表格添加行和列

    <table id="studentTable" align="center" border="1px;" cellpadding=& ...

  2. vs之Nuget

    1.http://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 2.在Nuget控制台中安装特定版本: Install-Package <程序包 ...

  3. 山东理工大学ACM平台题答案关于C语言 1543 Egypt

    Egypt Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述   A long time ago, the Egyptians fi ...

  4. 如何创建一个有System用户权限的命令行

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何创建一个有System用户权限的命令行.

  5. session和request的区别

    request 请求对象 请求中保存请求过程中需要的参数 比如另一个页面需要使用的对象编号,list,map等,请求结束,就失效了 session 会话对象 除非关闭会话(到时间通常为30分钟,或者关 ...

  6. ECSHOP在线手册布局参考图--通用活动页 group_list.dwt等

        A.购物车 1,设置方法 程序自动读取购物车的商品数量 2,代码相关 cart.lbi 中 {insert_scripts files='transport.js'} <div clas ...

  7. HTML5要点_CSS(三)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. eclipse反编译插件

    eclipse翻译的插件很多,jadclipse 是其中一款.设置很简单. ①.下载net.sf.jadclipse_3.3.0.jar 官方网站:http://sourceforge.net/pro ...

  9. XMPP——Smack[5]文件传输及离线消息的获取

    三天时间,赶在最后一下午实现了文件的传输,本来需要实现离线文件的发送的,一直没想好怎么弄,找openfire的离线文件插件没找到,后来想出一种方法,起服务器时起了一个系统用户,一直在线,当用户发送离线 ...

  10. ios项目不能再用UDID了

    今天更新项目时,出现 Apps are note permitted to access the UDID and must not use the uniqueIdentifier method o ...