一、通过在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. [转]jQuery插件开发精品教程,让你的jQuery提升一个台阶

    原文链接:http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其 ...

  2. destoon实现底部添加你是第几位访问者的方法

    经常会看到一些网站有类似“您是第位访客”字样的计数统计,这里我们来实现把这个统计功能添加到destoon的底部,显示“你是第几问访问者”的效果.此处的计数器与网站流量统计有区别,记录的是刷新次数,并不 ...

  3. 文成小盆友python-num2 数据类型、列表、字典

    一.先聊下python的运行过程 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程.这个过程分成两类,第一种是 ...

  4. 转载--http协议学习和总结

    http的了解一直停留在一知半解的程度,今天看到阿蜜果大大的博客,果断学习了,这里做个转载,希望阿蜜果大大不要怪罪~~ 3.1 Cookie和Session Cookie和Session都为了用来保存 ...

  5. DJANGO学习一则

    这个WEB框架,可以好好研究,相信很快就会用在工作上的. 相关文件: settings.py """ Django settings for djangoweb proj ...

  6. XJOI网上同步训练DAY1 T2

    思路:似曾相识?...见http://www.cnblogs.com/qzqzgfy/p/5266874.html 一看时限还是4s!,于是就开开心心地打了70%的分,就是用容斥原理,就可以n^3解决 ...

  7. HDU 4405 Aeroplane chess(期望)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意:从0走到n,每次走之前掷一次筛子,掷出几点就向前走几点,走到大于等于n的地方就停止.但是, ...

  8. codility上的问题 (21) Upsilon 2012

    这是我目前最喜欢的codiltiy上的问题之一.问题描述是:给定一个整数数组A,所有的数均不相同.假设下标从0开始,找到一个数组B, 满足A[B[0]] > A[B[1]] > A[B[2 ...

  9. 【转】 ubuntu下fastboot找不到devices

    原文网址:http://memory.blog.51cto.com/6054201/1202420 转载补充: 1.首先,手机必须先进入bootloader状态,fastboot devices才能有 ...

  10. html 表单初步学习

    <html> <head> <title> 静态页面</title> </head> <body> 这是一个静态页面<br ...