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

Android AlertDialog 返回鍵取消監聽:設置 OnCancelListener 捕獲取消事件

     編輯:程式設計綜合問答

需在用戶按返回鍵取消 AlertDialog 時執行邏輯,設置 setOnCancelListener 即可。

代碼示例

AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Caution");
alertDialog.setMessage("Alert");
alertDialog.setButton("OK", (dialog, which) -> finish());

// 關鍵:設置取消監聽
alertDialog.setOnCancelListener(dialog -> {
    // 用戶按返回鍵或點擊外部取消時執行
    Log.d("Dialog", "User cancelled");
    // 執行其他邏輯,如記錄統計、恢復狀態等
});

alertDialog.show();

補充:OnDismissListener vs OnCancelListener

監聽器觸發時機
OnCancelListener僅按返回鍵、點擊外部、調用 cancel() 時
OnDismissListener任何情況消失(含按鈕點擊、dismiss()、取消)

若需區分「用戶主動取消」與「正常關閉」,用 OnCancelListener;無論何種關閉都要執行,用 OnDismissListener。

注意

  • setCanceledOnTouchOutside(false) 可禁止點擊外部取消。
  • 對話框銷毀後監聽器自動失效,無需手動移除。

一行代碼捕獲返回鍵取消事件,邏輯處理更精準。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved