Android應用中返回鍵的監聽及處理

jopen 10年前發布 | 683K 次閱讀 Android 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>  
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!