Android实现点击事件的4种方式
一、通过在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种方式的更多相关文章
- android点击事件的四种方式
android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...
- Android journey3 @点击事件的4种写法
对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...
- Android笔记---点击事件的四种写法
Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...
- [Android]Java中点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...
- Android 触发Button按钮事件的三种方式
1.新创建一个类 2.使用内部类 3.当多个button按钮时,为简化代码而创建的实例listener 贴代码: MainActivity.Java 文件: package com.android. ...
- Javascript(jQuery)中绑定页面上所有按钮点击事件的几种方式
方法一:使用document对象查找所有的按钮 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //按照dom的方式添加事件处理 function B ...
- js中点击事件方法三种方式的区别
在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 (1)注意函数名没有双引号. ...
- Android四种点击事件和五中存储方式
Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...
- 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...
随机推荐
- Java消息服务
什么是消息? 消息是可编程实现两端通信的机制.通常的一些消息技术如:TCP/IP Sockets.管道.文件.共享存储. Java消息服务 Java消息服务,即Java Message Service ...
- jquery select三级联动
需求:对地区进行选择,选择相应的省,就会出现相应范围的市,然后出现相应的范围的县区:如果县不存在,就不现实,自我要求是自己写个简单的插件,方便以后调用: 逻辑:1.通过div的类名来获取,其下的sel ...
- jQuery中的插件的编写和使用
1,常用的jQuery插件:表单验证插件formValidator a.目前支持5大验证方式:1.inputValidator(针对input,textarea,select控件的字符长度,值范围,选 ...
- 帝国cms实现自动生成缩略图和自动分页功能
无论你手工发布,还是采集而来,免不了要进行手工操作弄缩略图,不然标题图片没有,挺烦人的 只需一次设定,就可以在文章编辑框里自动勾选上分页和生成缩略图,免除你次次进行操作的麻烦,好了,废话不多说,上菜“ ...
- 命运(HDU 2571 简单动态规划)
命运 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
3. prefetch_related() 对于多对多字段(ManyToManyField)和一对多字段,可以使用prefetch_related()来进行优化.或许你会说,没有一个叫OneToMan ...
- 给config加密
Configuration config = WebConfigurationManager.OpenWebConfiguration("/"); ConfigurationSec ...
- C语言实现的OOP
我倒不是为了OOP而OOP,实在是OOP的一些特征,例如封装,多态其实是软件工程思想,这些思想不分语言,遵循了这些思想可以使得程序更有弹性,更易修改和维护,避免僵化,脆弱 shape.h 该文件定义的 ...
- initEvent vs initMouseEvent
var evt = document.createEvent("MouseEvents");evt.initMouseEvent("click", true, ...
- KMP算法总♂结
讲KM♂P算法之前,我们先讲一个故♂事. 有一天,sgg给了老obo一封信和一个单词,并给他一个任务:找出这封信出现了多少个单词,然后在规定时间内告诉他. 碰到这个问题,老obo会怎么做呢? 首先最直 ...