一、通过在activity_main.xml中,按钮button控件中添加onclick事件实现


在   activity_main.xml 对应的按钮Button中加入下面红色事件

<Button android:id="@+id/send_button"
        android:layout_width="wrap_content"
        android:layout_below="@id/content_edit"
        android:text="@string/send_button"
        android:onClick="call"
        android:layout_height="wrap_content"/>

在布局对应的Activity,即MainActivity.java中加入下面方法,下面是点击拨打号码的时候的相关操作

/**
     * 当拨打此号码的按钮被点击时触发此方法.
     * @param v
     */
    public void call(View v) {
        System.out.println("拨打电话……….");
       
        // 1. 取出输入框中的号码
        EditText etNumber = (EditText) findViewById(R.id.number);    // 输入框对象
        String number = etNumber.getText().toString();    // 将要拨打的号码
       
        // 2. 根据号码拨打电话
        Intent intent = new Intent();        // 创建一个意图
        intent.setAction(Intent.ACTION_CALL);        // 指定其动作为拨打电话
        intent.setData(Uri.parse("tel:" + number));    // 指定将要拨出的号码
        startActivity(intent);    // 执行这个动作
    }

二、采用匿名内部类的方式,在布局初始化的时候添加事件监听


在 activity_main.xml  不要添加onclick事件

在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

Button btnCall = (Button) findViewById(R.id.btn_call);
        btnCall.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("MainUI2 拨打电话.");
                call();
            }
        });

三、采用内部类的方式,在布局初始化的时候添加事件监听


在 activity_main.xml  不要添加onclick事件

在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        // 必须执行此句代码. 执行父类的初始化操作.
        setContentView(R.layout.main);                // 设置当前界面显示的布局.
        Button btnCall = (Button) findViewById(R.id.btn_call);
        btnCall.setOnClickListener(new MyOnClickListener());
    }
   
class MyOnClickListener implements OnClickListener {

@Override
        public void onClick(View v) {
            System.out.println("拨打号码..");
            call();
        }
    }
   
    /**
     * 拨打电话的业务方法
     */
    private void call() {

//实现事件触发的要执行的逻辑

四、采用Activity实现接口的方式,实现事件监听


在 activity_main.xml  不要添加onclick事件,  让布局Activity实现接口OnClickListener,并实现接口的方法

public class MainActivity extends Activity implements OnClickListener

private void call() {

// 1. 取出输入框中的号码
        EditText etNumber = (EditText) findViewById(R.id.number);    // 输入框对象
        String number = etNumber.getText().toString();    // 将要拨打的号码
       
        // 2. 根据号码拨打电话
        Intent intent = new Intent();        // 创建一个意图
        intent.setAction(Intent.ACTION_CALL);        // 指定其动作为拨打电话
        intent.setData(Uri.parse("tel:" + number));    // 指定将要拨出的号码
        startActivity(intent);    // 执行这个动作
    }

@Override
    public void onClick(View v) {

call();
    }

Android实现点击事件的4种方式的更多相关文章

  1. android点击事件的四种方式

    android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...

  2. Android journey3 @点击事件的4种写法

    对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...

  3. Android笔记---点击事件的四种写法

    Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...

  4. [Android]Java中点击事件的四种写法

    点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...

  5. Android 触发Button按钮事件的三种方式

    1.新创建一个类 2.使用内部类 3.当多个button按钮时,为简化代码而创建的实例listener 贴代码: MainActivity.Java  文件: package com.android. ...

  6. Javascript(jQuery)中绑定页面上所有按钮点击事件的几种方式

    方法一:使用document对象查找所有的按钮 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //按照dom的方式添加事件处理 function B ...

  7. js中点击事件方法三种方式的区别

    在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 (1)注意函数名没有双引号. ...

  8. Android四种点击事件和五中存储方式

    Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...

  9. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

随机推荐

  1. C# txt文件读写

    //读取文件内容 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出. ]; ]; public void Read() { try { FileStream fil ...

  2. iframe的操作

    获取iframe的window,获取Iframe的document,获取父页面的window,某个环境是否iframe,动态创建iframe 这是demo.html,这个页用iframe嵌入了ifra ...

  3. UIViewController的生命周期及iOS程序执行顺序

    UIViewController的生命周期及iOS程序执行顺序     当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc                         ...

  4. Codeforces 486D D. Valid Sets

    http://codeforces.com/contest/486/problem/D 题意:给定一棵树,点上有权值,以及d,要求有多少种联通块满足最大值减最小值小于等于d. 思路:枚举i作为最大的点 ...

  5. Keil C51编译及连接技术

    主要介绍Keil C51的预处理方法如宏定义.常用的预处理指令及文件包含指令,C51编译库的选择及代码优化原理,C51与汇编混合编程的方法与实现以及超过64KB空间的地址分页方法的C51实现. 教学目 ...

  6. 分布式文件系统glusterfs安装步骤

    我的系统是 RHEL5 , 可能环境不一样, 需要安装的第三方依赖不一样啊, 反正大家在安装的过程中缺少什么就去安装什么, 一般都会有提示的. 下载   glusterfs-3.2.0.tar.gz  ...

  7. Powershell环境变量

    Powershell环境变量 9 12月, 2011  在 Powershell tagged 变量by Mooser Lee 本文索引 [隐藏] 1读取特殊的环境变量 2查找环境变量 3创建新的环境 ...

  8. Qt编程之UI与控件布局

    当然,大家都知道UI界面可以用Qt Designer在约束环境下设置编辑.ui文件,再将.ui文件转换成对应的ui_XXX.h文件,这头文件中的内容是:用C++语言实现真正的界面布局.uic -o & ...

  9. Android导航菜单横向左右滑动并和下方的控件实现联动

    这个是美团网个人订单的效果,找了很多地方都没找到,自己研究了两天终于弄出来了^_^,有什么问题希望大家指出来,谢谢. 实现原理是上方使用HorizontalScrollView这个可以水平横向拖动的控 ...

  10. TCP和UDP的区别(转)

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...