Android Studio中设置按键响应的方法2-1

Android Stduio的按键响应就是当用户点击了该按键后,要进行怎样的处理。可以通过两种方法设置按键响应:一种是通过setOnClickListener()方法设置,另一种是通过通过视图属性进行设置。

1 通过setOnClickListener()方法设置

1.1 setOnClickListener()介绍

setOnClickListener()方法的作用是注册一个回调函数,当视图被点击后,就会调用该函数。

相关链接1 回调函数,由别人的函数在运行期间调用你实现的函数,那么你实现的这个函数就是回调函数。回调函数地址一般作为参数传入到别人的函数中。

setOnClickListener()方法的参数是View.onClickListener。View.onClickListener是一个接口(interface),该接口定义了一个回调函数onClick(),当视图被点击后,就会调用onClick()。

相关链接2 接口(interface),定义了抽象方法和常量值,可以看成是一种特殊的抽象类,该抽象类中只包含了常量和方法的定义,但是没有常量和方法的实现。

onClick()方法是一个抽象的方法,该方法的参数是View的对象。

1.2 通过匿名内部类的方式设置响应

可以使用创建匿名内部类的方法,通过setOnClickListener()方法实现响应,如图1所示。

 图1 匿名内部类

其中,在setOnClickListener()函数的参数中,使用new关键字创建了继承View.OnClickListener接口的匿名内部类(图1①),在类内部重写(override)抽象方法onClick()(图1②),使用Toast类显示信息(图1③)。

1.3 通过实现View.onClickListener接口的类设置响应

1.3.1 实现View.onClickListener接口

可以将MainActivity类设置为实现View.onClickListener接口,如图2所示。

 图2 实现View.onClickListener接口

1.3.2 通过setOnClickListener()设置响应

假设在布局中有两个按键视图,其ID分别是“btn1”和“btn2”,通过findViewById()获取这两个按键,并且调用setOnClickListener()设置这两个按键的响应,如图3所示。

 图3 通过setOnClickListener()设置响应

在“1.1 setOnClickListener()介绍”中提到,setOnClickListener()方法的参数是View.onClickListener接口类型的对象,而MainActivity类实现了View.onClickListener接口,因此图3中的this表示的MainActivity类满足setOnClickListener()方法的参数类型。

1.3.3 重写onClick()方法

因为MainActivity类实现了View.onClickListener接口,所以需要在MainActivity类中重写View.onClickListener接口的抽象方法onClick,如图4所示。

 图4 重写onClick()方法

其中,v是View类的对象,通过v调用getId()方法获取v的ID(图4①),ID是一个正整数。通过switch...case语句判断用户点击的哪个视图,进行后续处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值