android四种点击事件,android点击事件的四种方式

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 ...

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值