活动被销毁后是否可以显示警报对话框?

问题描述 投票:1回答:3

我有一个业务逻辑,需要在转换发生时保持一个警告对话框,一个活动被销毁,另一个活动被创建。销毁的活动是启动警报对话框的活动。 我自己做了一些研究,没有找到任何可靠的解决方案。 如果你知道一个可以帮助我的解决方案或一些变通方法,那就太棒了。

android xamarin android-activity xamarin.android alertdialog
3个回答
1
投票

我通常通过给出对​​当前活动的引用来构建我的对话框。这至少是guide告诉我们做的事情。所以我的快速回答是你不能。

然而,一个替代方案已经到位。而不是创建两个不同的活动,将它们放在两个不同的片段中。将它们加载到一个活动中,您可以在其中挂钩对话框。从您的活动中,您可以在不需要关闭对话框的情况下在两个片段之间切换,因为片段切换时活动不会被破坏。


1
投票

这是我的建议仅供参考

如果允许,您可以先运行完全透明的Activity,然后将Dialog设置为系统级别,并在自定义应用程序中实例化Dialgo,您可以通过应用程序显示和关闭Dialog

喜欢这个层次结构:TransparentActivity(MainLauncher活动) - > Activity1 - > Activity2

您可以在Activity1销毁时显示Dialog,并在您的应用程序创建Activity2时将其关闭。

实际上,Dialog附加到TransparentActivity,因此您应该覆盖后退按钮事件以防止返回到TransparentActivity。


0
投票

你可以试试这种方式

public abstract class BaseActivity extends AppCompatActivity {

 protected void showProgressDialog(String message) {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setCancelable(false);
    alert.setTitle("your title");
    alert.setMessage(message);
    alert.create().show();

  }

}

在你的两个活动中扩展这个BaseActivity。调用showProgressDialog()方法在FirstActivity中显示您的警报消息,当FirstActivityDestroyed然后从SecondActivity调用它。

希望它会对你有所帮助。快乐的编码。

© www.soinside.com 2019 - 2024. All rights reserved.