欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android应用中Back键的监听及处理实例

程序员文章站 2023-08-12 19:11:55
mainactivity如下: 复制代码 代码如下: package cn.testnbackpressed; import android.os.bundle; impo...
mainactivity如下:
复制代码 代码如下:

package cn.testnbackpressed;
import android.os.bundle;
import android.view.keyevent;
import android.app.activity;
/**
* demo描述:
* 处理back键按下事件
*
* 注意事项:
* 以下两种方法勿一起使用
*/
public class mainactivity extends activity {
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
}
/**
* 监听back键按下事件,方法1:
* 注意:
* super.onbackpressed()会自动调用finish()方法,关闭
* 当前activity.
* 若要屏蔽back键盘,注释该行代码即可
*/
@override
public void onbackpressed() {
super.onbackpressed();
system.out.println("按下了back键 onbackpressed()");
}
/**
* 监听back键按下事件,方法2:
* 注意:
* 返回值表示:是否能完全处理该事件
* 在此处返回false,所以会继续传播该事件.
* 在具体项目中此处的返回值视情况而定.
*/
@override
public boolean onkeydown(int keycode, keyevent event) {
if ((keycode == keyevent.keycode_back)) {
system.out.println("按下了back键 onkeydown()");
return false;
}else {
return super.onkeydown(keycode, event);
}

}

@override
protected void ondestroy() {
super.ondestroy();
system.out.println("执行 ondestroy()");
}
}

main.xml如下:
复制代码 代码如下:

<relativelayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<textview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="对于back键的两种处理方法"
android:layout_centerinparent="true"
android:textsize="20sp"
/>
</relativelayout>