Android TabActivity中onKeyDown無法響應的解決方法

Android中某個類繼承Activity的子類TabActivity時,重載Activity中的public boolean onKeyDown(int keyCode, KeyEvent event)方法時,點擊按鍵時並得不到響應,解決的方法是:

重載public boolean dispatchKeyEvent(KeyEvent event)方法,其示例代碼如下:

private long exitTime = 0L;

	@Override
	public boolean dispatchKeyEvent(KeyEvent event) {
		if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
			if (event.getAction() == KeyEvent.ACTION_DOWN
					&& event.getRepeatCount() == 0) {
				if (System.currentTimeMillis() - exitTime > 2000) {
					Toast.makeText(this, "再按一次退出", Toast.LENGTH_LONG).show();
					exitTime = System.currentTimeMillis();
				} else {
					this.finish();
					System.exit(0);
				}
				return true;
			}
		}
		return super.dispatchKeyEvent(event);
	}

這是退出的例子代碼
發佈了120 篇原創文章 · 獲贊 14 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章