【问题标题】:Working with Dialogs in Android在 Android 中使用对话框
【发布时间】:2012-03-29 21:07:59
【问题描述】:

我正在使用一些为 Android 应用程序构建的自定义对话框类。当调用这些对话框类之一时,它会显示对话框,用户对对话框中的小部件进行更改,然后这些更改会在对话框关闭后影响调用活动。

我已经开发了一些变通方法来实现这个功能...但我喜欢简洁的代码,我玩弄过的所有变通方法对我来说都没有吸引力(静态变量、返回语句等) .所以我想也许我可以在 OnResume 或我的调用活动的 ReStart 方法中添加一些语句来完成必要的工作。但是,当我关闭对话框时没有任何反应,因此我不相信在关闭对话框时会调用活动生命周期的任何 OverRide 方法(即使在对话框启动时首次出现 OnPause 也是如此)。

我查看了 Andoid 文档并读到我可以在我的自定义对话框类中接口对话框并在那里使用/覆盖各种方法。在我看来,这就像炮弹杀死苍蝇一样(特别是因为我已经准备好有一个工作正常的解决方法)。

所以,基本上我想知道调用什么方法(从对话框或从启动对话框的活动)来重新启动调用对话框的活动。

调用活动创建对话框-->(然后调用活动通过某种方法变灰)-->对话框显示-->等等等等-->对话框被关闭-->(调用活动通过某种方法恢复)

上面括号里的两个方法,分别是什么? (后者与我的兴趣特别相关)感谢您的宝贵时间。

【问题讨论】:

    标签: android eclipse android-activity dialog


    【解决方案1】:

    我不完全确定它是如何使背景变灰的,但您可以实现一些侦听器并将相关代码放入其中,即 OnDismissListener、OnCancelListener 和 OnShowListener(需要 API 级别 8)。

    示例(其他侦听器的语法相同)

        Dialog d = new Dialog(this);
        d.setOnCancelListener(new DialogInterface.OnCancelListener() {
    
            @Override
            public void onCancel(DialogInterface dialog) {
                // do stuff 
    
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多