开发者社区> 技术小美> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android应用中返回键的监听及处理

简介:
+关注继续查看

MainActivity如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.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如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<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>

  

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/p/4666872.html   ,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android应用中返回键的监听及处理
MainActivity如下: package com.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; import android.
541 0
Android Studio进行APP设计开发之矢量图及XML文件转换
Android Studio进行APP设计开发之矢量图及XML文件转换
0 0
Android studio开发APP时设置更改启动时的主界面程序
Android studio开发APP时设置更改启动时的主界面程序
0 0
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案
0 0
Android开发:使用Java对手机截图图片进行任意区域的颜色对比度处理操作
开发项目过程中,对于手机屏幕截图,需要对获取到的截图的任意部分进行区域颜色对比度的识别操作,由此判定任意指定区域是否满足某对比度基本标准,但是该功能在网上任何地方都没有找到过Java方面的代码,于是根据RGB转换测试的原理:即获取每个像素点的RGB,通过RGB对比度定义公式进行像素点的集合换取。
0 0
开发android项目的常用jar包
开发android项目的常用jar包
0 0
Android Studio开发Android APP
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。 Android Studio 主窗口由下图标注的几个逻辑区域组成:
0 0
开发时遇到监听的事件处理机制和SoundPool播放音效解决方法以及外部类的使用【Android】
开发时遇到监听的事件处理机制和SoundPool播放音效解决方法以及外部类的使用【Android】
0 0
【Android】开发Android应用时对于Handler消息传递与缓存问题深入运用and理解
【Android】开发Android应用时对于Handler消息传递与缓存问题深入运用and理解
0 0
ANDROID开发之http调试常见错误
ANDROID开发之http调试常见错误
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载