MainActivity如下:
<code>package</code> <code>com.testnbackpressed;</code>
<code>import</code> <code>android.os.Bundle;</code>
<code>import</code> <code>android.view.KeyEvent;</code>
<code>import</code> <code>android.app.Activity;</code>
<code>/**</code>
<code> </code><code>* Demo描述:</code>
<code> </code><code>* 处理Back键按下事件</code>
<code> </code><code>*</code>
<code> </code><code>* 注意事项:</code>
<code> </code><code>* 以下两种方法勿一起使用</code>
<code> </code><code>*/</code>
<code>public</code> <code>class</code> <code>MainActivity </code><code>extends</code> <code>Activity {</code>
<code> </code>
<code> </code><code>@Override</code>
<code> </code><code>protected</code> <code>void</code> <code>onCreate(Bundle savedInstanceState) {</code>
<code> </code><code>super</code><code>.onCreate(savedInstanceState);</code>
<code> </code><code>setContentView(R.layout.main);</code>
<code> </code><code>}</code>
<code> </code><code>/**</code>
<code> </code><code>* 监听Back键按下事件,方法1:</code>
<code> </code><code>* 注意:</code>
<code> </code><code>* super.onBackPressed()会自动调用finish()方法,关闭</code>
<code> </code><code>* 当前Activity.</code>
<code> </code><code>* 若要屏蔽Back键盘,注释该行代码即可</code>
<code> </code><code>*/</code>
<code> </code><code>public</code> <code>void</code> <code>onBackPressed() {</code>
<code> </code><code>super</code><code>.onBackPressed();</code>
<code> </code><code>System.out.println(</code><code>"按下了back键 onBackPressed()"</code><code>); </code>
<code> </code>
<code> </code><code>/**</code>
<code> </code><code>* 监听Back键按下事件,方法2:</code>
<code> </code><code>* 注意:</code>
<code> </code><code>* 返回值表示:是否能完全处理该事件</code>
<code> </code><code>* 在此处返回false,所以会继续传播该事件.</code>
<code> </code><code>* 在具体项目中此处的返回值视情况而定.</code>
<code> </code><code>*/</code>
<code> </code><code>public</code> <code>boolean</code> <code>onKeyDown(</code><code>int</code> <code>keyCode, KeyEvent event) {</code>
<code> </code><code>if</code> <code>((keyCode == KeyEvent.KEYCODE_BACK)) {</code>
<code> </code><code>System.out.println(</code><code>"按下了back键 onKeyDown()"</code><code>); </code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code> </code><code>}</code><code>else</code> <code>{</code>
<code> </code><code>return</code> <code>super</code><code>.onKeyDown(keyCode, event);</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>protected</code> <code>void</code> <code>onDestroy() {</code>
<code> </code><code>super</code><code>.onDestroy();</code>
<code> </code><code>System.out.println(</code><code>"执行 onDestroy()"</code><code>);</code>
<code> </code><code>} </code>
<code>}</code>
main.xml如下:
<code><RelativeLayout </code>
<code> </code><code>xmlns:android=</code><code>"http://schemas.android.com/apk/res/android"</code>
<code> </code><code>xmlns:tools=</code><code>"http://schemas.android.com/tools"</code>
<code> </code><code>android:layout_width=</code><code>"match_parent"</code>
<code> </code><code>android:layout_height=</code><code>"match_parent"</code>
<code> </code><code>></code>
<code> </code><code><TextView</code>
<code> </code><code>android:layout_width=</code><code>"wrap_content"</code>
<code> </code><code>android:layout_height=</code><code>"wrap_content"</code>
<code> </code><code>android:text=</code><code>"对于Back键的两种处理方法"</code>
<code> </code><code>android:layout_centerInParent=</code><code>"true"</code>
<code> </code><code>android:textSize=</code><code>"20sp"</code>
<code> </code><code>/></code>
<code></RelativeLayout></code>
本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/p/4666872.html ,如需转载请自行联系原作者