Android中某個類繼承Activity的子類TabActivity時,重載Activity中的public boolean onKeyDown(int keyCode, KeyEvent event)方法時,點擊按鍵時並得不到響應,解決的方法是:
重載public boolean dispatchKeyEvent(KeyEvent event)方法,其示例代碼如下:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
this.showTips();//這是自定義的代碼
}
return true;
}
return super.dispatchKeyEvent(event);
}
private void showTips() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("退出后,要重新登錄,確定退出嗎?");
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
return;
}
});
builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
builder.create().show();
}