【问题标题】:How to close app if user presses back button on dialog如果用户按下对话框上的后退按钮,如何关闭应用程序
【发布时间】:2014-08-05 02:58:40
【问题描述】:

我是 Android 新手,正在开发一个在启动时显示对话框的实用程序 UI 组件,如果用户没有在对话框中做出选择并选择按下后退按钮,我想关闭应用程序。如何在 dialogFragment 中实现这一点?我将无法访问活动代码。

这个组件被实现为DialogFragment。

我试过了

    dialog.setOnDismissListener( new OnDismissListener()
    {
        @Override
        public void onDismiss(DialogInterface dialog)
        {
            getActivity().finish();
        }
    });

但是如果我按下后退按钮,这不会关闭活动。

在 Android 中实现强制对话框的最佳实践是什么

提前致谢

【问题讨论】:

标签: android android-activity android-dialogfragment


【解决方案1】:
  1. 打开对话框时将标志设为真...
  2. onBackPressed() 检查标志是否为真...
  3. 如果是真的完成活动...

我还没有测试,但它可能会工作......

@Override
public void onDismiss(DialogInterface dialog)
{
            ((YourActivity)getActivity()).finish();
}

如果上述方法不起作用...例如在您的活动中创建一个方法...

public void closeActivity(){

finish();

}

然后调用函数closeActivity() onDismiss

 @Override
    public void onDismiss(DialogInterface dialog)
    {
                ((YourActivity)getActivity()).closeActivity();
    }

【讨论】:

  • 感谢您的回复,我无法控制活动代码,有没有办法通过dialogFragment来实现?
  • 工作.. 非常感谢!
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-21
相关资源
最近更新 更多