android点击事件的四种方式

第一种方式:创建内部类实现点击事件

代码如下:

package com.example.dail;

import android.text.TextUtils;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

private EditText etext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取text文本框内容

etext = (EditText) MainActivity.this.findViewById(R.id.editText1);

//根据id获取button按钮

Button btn = (Button) this.findViewById(R.id.button_dail);

//给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)

btn.setOnClickListener(new MyOnClickListener());

}

private class MyOnClickListener implements OnClickListener{

@Override

public void onClick(View arg0) {

callphone();

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

private void callphone() {

String e_number = etext.getText().toString();

if(TextUtils.isEmpty(e_number)) {

Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();

return ;

}

Intent intent = new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+e_number));

startActivity(intent);

}

}

第二种方式:采用匿名内部类实现点击事件

package com.example.dail;

import android.text.TextUtils;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

private EditText etext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取text文本框内容

etext = (EditText) MainActivity.this.findViewById(R.id.editText1);

//根据id获取button按钮

Button btn = (Button) this.findViewById(R.id.button_dail);

//给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)

// btn.setOnClickListener(new MyOnClickListener());

//第二种方式:采用匿名内部类实现点击事件

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

callphone();

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

private void callphone() {

String e_number = etext.getText().toString();

if(TextUtils.isEmpty(e_number)) {

Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();

return ;

}

Intent intent = new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+e_number));

startActivity(intent);

}

}

第三种方式:采用Activity实现OnClickListener接口方式来实现点击事件

package com.example.dail;

import android.text.TextUtils;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

private EditText etext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取text文本框内容

etext = (EditText) MainActivity.this.findViewById(R.id.editText1);

//根据id获取button按钮

Button btn = (Button) this.findViewById(R.id.button_dail);

//给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)

// btn.setOnClickListener(new MyOnClickListener());

//第二种方式:采用匿名内部类实现点击事件

/*btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

callphone();

}

});*/

//第三种方式:采用Activity实现OnClickListener接口方式来实现点击事件

btn.setOnClickListener(this);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

private void callphone() {

String e_number = etext.getText().toString();

if(TextUtils.isEmpty(e_number)) {

Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();

return ;

}

Intent intent = new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+e_number));

startActivity(intent);

}

@Override

public void onClick(View arg0) {

callphone();

}

}

第四种方式:在布局中绑定一个点击方法

第一步:在布局文件中添加android:onClicke属性

android:onClick="dailButtonOnClick"

android:id="@+id/button_dail"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@id/editText1"

android:text="@string/dail"

/>

第二步:在MainActivity中添加dailButtonOnClick方式

private void dailButtonOnClick(){

callphone();

}

Android中点击事件的四种写法详解

Android中点击事件的四种写法 使用内部类实现点击事件 使用匿名内部类实现点击事件 让MainActivity实现View.OnClickListener接口 通过布局文件中控件的属性 第一种方法 ...

[Android] 点击事件的四种写法

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

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

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

转--Android按钮单击事件的四种常用写法总结

这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下     很多学习Android程序设计的人都会发现每个人对代码的 ...

Android按钮单击事件的四种常用写法

这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下 很多学习Android程序设计的人都会发现每个人对代码的写法都有 ...

jQuery绑定事件的四种方式:bind、live、delegate、on

1.jQuery操作DOM元素的绑定事件的四种方式 jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undele ...

Android异步更新UI的四种方式

Android异步更新UI的四种方式 2015-09-06 09:23 segmentfault 字号:T | T 大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中 ...

SWT组件添加事件的四种方式

在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...

Java添加事件的四种方式

Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...

随机推荐

[USACO2003][poj2187]Beauty Contest(凸包+旋转卡壳)

http://poj.org/problem?id=2187 题意:老题了,求平面内最远点对(让本渣默默想到了悲剧的AHOI2012……) 分析: nlogn的凸包+旋转卡壳 附:http://www ...

设计模式学习之简单工厂(Simple Factory,创建型模式)(1)

简单工厂(Simple Factory,创建型模式) 第一步: 比如我们要采集苹果和香蕉,那么我们需要创建一个Apple类和Banana类,里面各自有采集方法get(),然后通过main方法进行调用, ...

cocos2d 单点触控

// // Single.hpp // dev // // Created by sun on 15/12/20. // // #ifndef Single_hpp #define Single_hp ...

【OSGi】OSGi生命周期

1 生命周期管理 对于非模块化应用,生命周期将应用作为一个整体来操作: 而对于模块化应用,则可以以细粒度的方式来管理应用的某一个独立部分. OSGi生命周期管理 OSGi生命周期层有两种不同的作用: ...

一天搞定CSS: 浮动(float)及文档流--10

浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...

Python使用Tabula提取PDF表格数据

今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

Linux计划任务及压缩归档(week2_day1)--技术流ken

计划任务介绍 我们可以通过一些设置.来让电脑定时提醒我们该做什么事了.或者我们提前设置好,告诉电脑你几点做什么几点做什么,这种我们就叫它定时任务.而遇到一些需要执行的事情或任务.我们也可以通过命令来告 ...

Spring MVC 原理探秘 - 容器的创建过程

1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的.Spring MVC 可对外提供服务时,说明其已经处于了就绪状态.再次之前,Spring MVC 需要进行 ...

Spring-framework应用程序启动loadtime源码分析笔记(三)——@KafkaListener

org.springframework.context.annotation.ConfigurationClassParser.getConfigurationClasses()读所有@Configu ...

oracle 定义临时变量,并使用分支判断

declare tempCount int; tempID ); begin select count(*) into tempCount from CUSTOMER_PROFILE where id ...

android四种点击事件,android点击事件的四种方式相关推荐

  1. Android点击事件(click button)的四种写法

    在学习android开发和测试的时候发现不同的人对于click事件的写法是不一样的,上网查了一下,发现有四种写法,于是想比较一下四种方法的不同 第一种方法:匿名内部类 代码: package com. ...

  2. android监听器在哪里创建,[转载]android开发中创建按钮事件监听器的几种方法

    第一种:匿名内部类作为事件监听器类 Button button=(Button) findViewById(R.id.button); button.setOnClickListener(new On ...

  3. android 拖动 点击事件,Android事件详解——拖放事件DragEvent

    1.Android拖放框架的作用? 利用Android的拖放框架,可以让用户用拖放手势把一个View中的数据移到当前layout内的另一个View中去. 2.拖放框架的内容? 1)拖放事件类 2)拖放 ...

  4. android viewgroup点击变色,Android ViewGroup事件分发

    上篇文章已经分析了Android的Touch事件分发.如果没看的建议先看一下.Android View的Touch事件分发. 接下来我们开始写几种场景,得出一个初步的执行顺序,然后我们按照这个顺序开始 ...

  5. android notification自动消失,Notification点击事件和点击消失

    版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/u012691505/article/details/53004930 用到Notification遇到 ...

  6. android自动屏幕点击事件,Android 中屏幕点击事件的实现

    在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: 常用实现OnClickListener,OnTouchListener,OnFocusC ...

  7. android 键盘回车按钮事件,Android中ENTER键(确认键)点击响应

    背景:在机顶盒中通过遥控器操作,与传统手机交互方式不同.手机点击是发送两个TouchEvent(Down和Up),机顶盒是发送KeyEvent.所产生的效果看似相同,其实是两种不同的机制. 先看两段代 ...

  8. Android 中触摸事件与点击事件分析

    触摸事件 两种检测触摸事件的方式: 设置触摸监听  setOnTouchListener 返回 true: 表示消费事件 , 可以检测到 down/move/up 事件 返回 false: 不消费事件 ...

  9. android drawable 点击事件,Android中EditText的drawableRight属性设置点击事件

    这个方法是通用的,不仅仅适用于edittext,也适用于textview.autocompletetextview等控件. google官方api并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...

最新文章

  1. 算法及其复杂度度量简介
  2. Wireshark数据抓包分析——网络协议篇
  3. Gartner: 2016年十大安全预测
  4. Linux的md64进程,在Linux上安装Elasticsearch Kibaba.md(示例代码)
  5. netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...
  6. Linux Vim基本操作(文件的打开和编辑)完全攻略(有图有真相)
  7. php 获取mac地址栏,php 获取网卡物理(MAC)地址的实现方法
  8. python内置类属性_python常用内建属性大全
  9. Jquery+CSS Input file 文本框轻美化
  10. Play framework 2.0 -应用程序全局设置(转)
  11. Initial Audio Trap Empire Heatup3 Expansion (HeatUp3通用音色库)
  12. 13家电脑品牌来源大揭底
  13. 精密电阻阻值表丝印大全
  14. hexo+next 给博客添加网易云音乐外链接
  15. vue项目+高德地图
  16. C++内置类型对象之间的隐式转换
  17. CTF实验吧-简单的sql注入【SQL注入关键词绕过】
  18. BaseFX 实习小记(一)
  19. win10系统怎么qq远程连接到服务器,QQ远程控制功能在Win10系统上无法使用怎么解决...
  20. Keil5开发工具 --- 背景颜色绿色护眼

热门文章

  1. 使用JSONObject生成和解析json
  2. sentinel与nacos持久化
  3. EduCoder-Linux与Python编程2021(Python知识训练)- 序列结构
  4. grafana开源报表工具
  5. 如何评价网站设计制作的好坏
  6. 读书笔记22:Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recogni
  7. 一本通 1292:宠物小精灵之收服
  8. chatglm常用参数 :Top-k, Top-p, Temperature
  9. 大学选修课实用计算机技术,【原创】写给大一学弟学妹:大一应该选修哪些实用有趣的选修课?...
  10. Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)