Android开发秘籍:掌握这几种方式,自主控制对话框关闭时机!
在Android开发中,你可以通过以下方式自己控制对话框的关闭时机: 1. 使用AlertDialog:你可以通过setCancelable(false)方法来阻止用户通过点击对话框外部来关闭它,然后在点击按钮或者做出其他操作时调用dismiss()方法来关闭它。 ```java AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setCancelable(false); // 设置对话框不可取消 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 这里是点击确定按钮的操作 dialog.dismiss(); // 关闭对话框 } }); AlertDialog dialog = builder.create(); dialog.show(); ``` 2. 使用ProgressDialog:你可以通过setCancelable(false)方法来阻止用户通过点击对话框外部来关闭它,然后在完成操作后调用dismiss()方法来关闭它。 ```java ProgressDialog progressDialog = new ProgressDialog(context); progressDialog.setCancelable(false); // 设置对话框不可取消 progressDialog.show(); // 这里是你的操作 progressDialog.dismiss(); // 关闭对话框 ``` 3. 自定义Dialog:你可以通过设置OnKeyListener或者addContentView方法来控制对话框的关闭时机。 ```java Dialog dialog = new Dialog(context); dialog.setCancelable(false); // 设置对话框不可取消 View view = LayoutInflater.from(context).inflate(R.layout.dialog_layout, null); dialog.addContentView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); dialog.setOnKeyListener(new Dialog.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { dialog.dismiss(); // 关闭对话框 return true; } return false; } }); dialog.show(); ``` 以上就是在Android开发中自己控制对话框的关闭时机的一些方法。 ######[AI写代码神器 | 385点数解答 | 2023-11-07 22:42:09]
- RealtimeMonitoringFragment 代码片段:Android 实时监控功能核心代码剖析(字节豆包 | 30点数解答 | 2024-10-12 10:31:18)294
- 揭秘:Android实时监控片段(RealTimeMonitoringFragment)代码实现(GPT | 531点数解答 | 2024-10-12 10:32:25)269
- AIDE编写Xposed软件:参考代码教你拦截Smail类方法名(阿里通义 | 649点数解答 | 2024-10-12 00:15:48)305
- Go语言GC剖析:STW 时机及各阶段解决之道(百度文心 | 389点数解答 | 2023-11-09 18:16:25)578
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)72
- 智能电话窗口按钮1弹起:获取坐标与手机IMEI码待处理(GPT | 208点数解答 | 2024-09-12 16:36:31)353
- Java 状态模式:模拟 TCP 连接多种状态及行为转换(GPT | 2147点数解答 | 2024-12-19 22:19:37)290
- Java实现状态模式:模拟TCP连接状态管理及行为处理(GPT | 1541点数解答 | 2024-12-19 22:19:57)279
- C51 编程:外部中断 0 边沿触发控制 P2 口 8 个 LED 依次点亮(字节豆包 | 41点数解答 | 2025-06-22 11:25:54)152
- 8051 单片机:用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮(附代码与详解) (字节豆包 | 538点数解答 | 2025-06-22 11:26:15)127
- C51实现外部中断0边沿触发,让P2口8个LED依次点亮的程序详解(DeepSeek | 400点数解答 | 2025-06-22 21:21:28)109
- C51 程序:利用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮及代码分析(DeepSeek | 228点数解答 | 2025-06-22 23:18:42)159