android学习之4种点击事件的响应方式
如题,下面就一一列出对点击事件响应的4种方式:
第一种:内部类的形式:
package com.example.dail; import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
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 Button bt_dail = null;
private EditText et_number = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_dail = (Button) findViewById(R.id.bt_dail);
et_number = (EditText) findViewById(R.id.et_number);
bt_dail.setOnClickListener(new MyListener());
}
private void callPhone() {
String number = et_number.getText().toString();
if(TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "号码不能为空", 1).show();
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
private class MyListener implements OnClickListener{ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
callPhone();
} } }
创建一个内部类MyListener实现OnClickListener接口。
第二种:匿名内部类:
package com.example.dail; import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
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 Button bt_dail = null;
private EditText et_number = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_dail = (Button) findViewById(R.id.bt_dail);
et_number = (EditText) findViewById(R.id.et_number);
bt_dail.setOnClickListener(new OnClickListener(){
public void onClick(View v){
callPhone();
}
});
}
private void callPhone() {
String number = et_number.getText().toString();
if(TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "号码不能为空", 1).show();
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
}
第三种:在xml布局文件中,定义onclick的方式
<Button
android:onClick="btOnClick"
android:id="@+id/bt_dail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/et_number"
android:text="@string/dail"/>"
然后再主类里面实现btOnClick方法,
private void btOnClick() {
callPhone();
}
private void callPhone() {
String number = et_number.getText().toString();
if(TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "号码不能为空", 1).show();
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
第四种:让主类实现OnClickListener接口,然后再主类实现未实现的方法
package com.example.dail; import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
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 Button bt_dail = null;
private EditText et_number = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_dail = (Button) findViewById(R.id.bt_dail);
et_number = (EditText) findViewById(R.id.et_number);
bt_dail.setOnClickListener(this);
}
private void callPhone() {
String number = et_number.getText().toString();
if(TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "号码不能为空", 1).show();
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
@Override
public void onClick(View v) {
callPhone();
}
}
如上所述,4种点击事件的响应方式就是如此。
android学习之4种点击事件的响应方式的更多相关文章
- Android按钮的四种点击事件
本文记录一下按钮的四种点击事件 第一种 public class MainActivity extends Activity { @Override protected void onCreate(B ...
- android中的4种点击事件
四种点击事件 (1)采用内部类的方式去实现OnClickListener (2)匿名内部类 (3)当前类imp OnClickListener (4)onclick ...
- Android中Button四种点击事件实现方式
1.Xml添加监听属性,这里添加的doClick. <Button android:id="@+id/bt1" android:layout_width="wrap ...
- Android 组件的三种点击事件写法
一.准备工作 1.项目结构 2.布局文件(activity_main.xml) <?xml version="1.0" encoding="utf-8"? ...
- Android Button的四种点击事件
bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...
- Android中点击事件的实现方式
在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事.今天我们就汇总一下点击事件的实现方式. 点击事件的实现大致分为 ...
- Android入门——电话拨号器和四种点击事件
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...
- Android入门——电话拨号器和4种点击事件
关于HelloWorld为,电话拨号程序还AndroidA入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1. ...
- Android监听消息通知栏点击事件
Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...
随机推荐
- C# 汉字的字符串截取指定字节的长度
int index = 0; int setCharCount = 74; string str1 = "三星 SCH-I829 电信3G手机(优 ...
- MemCachedClient数据写入的三个方法
set方法 1 将数据保存到cache服务器,如果保存成功则返回true 2 如果cache服务器存在同样的key,则替换之 3 set有5个重载方法,key和value是必须的参数,还有过期时间,h ...
- 三、改变struts.xml默认路径后web.xml如何配置
http://yanln.iteye.com/blog/2189816(文章很好)
- JSON.parse和JSON.stringify 参数详解
JSON.parse和JSON.stringify这两个浏览器自带(IE6/7除外)的方法平常我们经常用到,但是一般都只是用到了他们的第一个参数,比如字符串转对象:JSON.parse('{}') ...
- linux ulimit的使用,如何产生core文件,调试段错误
---恢复内容开始--- 下面先简单介绍下ulimit命令: 1. limit -a 可以查看系统各种资源的限制,如: core文件大小,数据段的大小等. $ ulimit -a core file ...
- Zsh安装CMake补全脚本进行CMake命令补全
最近在尝试使用Zsh,发现其补全命令的功能相当厉害.但对CMake命令的补全在默认的5.0.5中好像没有看到,网上找了下关于配置Zsh补全的文章也没有多少. 于是自己动手,发现在Zsh安装目录 ...
- 文件操作1-php
is_file (PHP 3, PHP 4, PHP 5) is_file -- 判断给定文件名是否为一个正常的文件 说明 bool is_file ( string filename ) 如果文件存 ...
- Yii 框架里数据库操作详解
增:1 第一种 $post=new Post; $post->title='sample post'; $post->content='content for the sample pos ...
- PHP文件类型检查类-比较全的
在CSDN上淘来的一个文件类型的类,还不错,留下自己看! <? /** * 检证文件类型类 * * @author */ class FileTypeValidation { // 文件类型,不 ...
- 自定义jdbc框架
获取元数据 元数据- DataBaseMetaData DatabaseMetaData meta = con.getMetaData(); getDatabaseProductName().getD ...