我有一个 AlertDialog dlgDetails
从另一个 AlertDialog dlgMenu
显示。如果用户在 dlgDetails 中按下后退按钮,我希望能够再次显示 dlgMenu,如果他在对话框外按下,则只需退出对话框。
我认为最好的方法是为 dlgDetails 覆盖 onBackPressed
,但我不确定该怎么做,因为 AlertDialogs 必须使用 Builder 间接创建。
我正在尝试创建派生的 AlertDialog( public class AlertDialogDetails extends AlertDialog { ...}
),但我想我还必须在该类中扩展 AlertDialog.Builder
以返回 AlertDialogDetails,但是没有更简单的方法吗?如果没有,您将如何覆盖 Builder?
原文由 Pooks 发布,翻译遵循 CC BY-SA 4.0 许可协议
我终于在我的对话框中添加了一个按键监听器来监听返回键。不如覆盖
onBackPressed()
优雅,但它有效。这是代码:有关 Kotlin 中的答案,请参见此处: Not working onbackpressed when setcancelable of alertdialog is false