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语句判断用户点击的哪个视图,进行后续处理。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio ,可以通过以下步骤设置键盘的监听: 1. 打开你的 Activity 的布局文件,找到你想要监听键盘的 View。 2. 在该 View 的属性添加如下属性: ```xml android:focusable="true" android:focusableInTouchMode="true" ``` 这将使该 View 能够获得焦点并响应键盘事件。 3. 在你的 Activity ,为该 View 设置一个 OnKeyListener 监听器: ```java yourView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // 处理键盘事件 return false; } }); ``` 在 onKey 方法,你可以根据 keyCode 和 event 的值来处理键盘事件。 4. 如果你需要监听软键盘的弹出和隐藏事件,可以在你的 Activity 重写 onConfigurationChanged 方法,并检查 Configuration 的 keyboardHidden 值: ```java @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) { // 软键盘弹出 } else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) { // 软键盘隐藏 } } ``` 这样就可以监听软键盘的弹出和隐藏事件了。注意,如果你需要监听软键盘的弹出和隐藏事件,你还需要在 AndroidManifest.xml 为你的 Activity 添加如下属性: ```xml android:configChanges="keyboard|keyboardHidden" ``` 这样,当软键盘弹出或隐藏时,系统不会销毁并重建你的 Activity。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值