首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ListActivity 返回鍵彈出確認對話框:覆寫 onKeyDown 攔截 KEYCODE_BACK

     編輯:程式設計綜合問答

在 ListActivity 中覆寫 onKeyDown,攔截 KEYCODE_BACK 顯示確認對話框,使用者確認後呼叫 finish()。

程式碼

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        new AlertDialog.Builder(this)
            .setTitle("提示")
            .setMessage("確定要退出?")
            .setPositiveButton("是", (dialog, which) -> finish())
            .setNegativeButton("否", null)
            .show();
        return true; // 事件已處理
    }
    return super.onKeyDown(keyCode, event);
}

注意

  • 回傳 true 表示事件已消費,不再傳遞給父類(預設會 finish())。
  • API 5+ 建議改用 onBackPressed()(但無法攔截長按等細節)。
  • 對話框使用 AlertDialog.Builder 鏈式調用簡潔明瞭。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved