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


    MainActivity如下:

    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如下:

    <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>
  • 相关阅读:
    C++考试篇二:继承与派生
    当初的愿望实现了么?
    Ckeditor 的使用
    2012 年取公积金
    CodeWarrior下载程序到9S12XS128
    [置顶] CentOS6.3三种安装方法(U盘,硬盘,光盘)
    重大改变!DotMSN于今天开放了源代码,并升级到2.0版本!!
    创建跨平台的Ajax应用
    创建跨平台的Ajax应用
    C#编写最小花时隐藏为任务栏图标的Window appllication
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/4333108.html
Copyright © 2020-2023  润新知