java - Android 显示 AlertDialog,无论用户 Activity 如何

标签 java android android-activity android-alertdialog display

我有三到四项 Activity

在第四个 Activity 中,我将数据发送到服务器并完成 Activity ,用户可以执行前三个行为中的任何一个。

无论用户处于哪个 Activity ,我都会向用户显示一个自定义警报对话框,询问如何处理从服务器获取的信息。

尝试1:

AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(this);
alertDialogVar.create().show();

尝试 2:

AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(namActivity1.this);
alertDialogVar.create().show();

尝试 3:

AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(getApplicationContext());
alertDialogVar.create().show();

尝试 4:

根据下面链接的建议,我什至尝试过广播,但出现同样的错误

Displaying a AlertDialog on screen irrespective of Activity Screen

我在尝试显示时收到错误消息,提示 Activity 已关闭:

Error : E/AndroidRuntime: FATAL EXCEPTION: main
Process: dijisuji.PicPac, PID: 24381
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@3c152e1 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:580)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.app.Dialog.show(Dialog.java:319)

无论活跃用户位于何处,如何使其显示?

最佳答案

一个非常简单的方法是创建一个 BaseActivity,所有其他 Activity 都将扩展它,在这种情况下,您可以简单地使用 BaseActivity 的上下文,而不必担心用户所在的 Activity ,因为它将始终包含以下实例当前 Activity 。

class Act1 extends BaseActivity{}

class Act2 extends BaseActivity{}

class Act3 extends BaseActivity{}

class BaseActivity extends AppCompatActivity{
      public void showDialog(){
         AlertDialog.Builder alertDialogVar = new AlertDialog.Builder(BaseActivity.this);
         alertDialogVar.create().show();
      }
}

现在任何 Activity 都可以调用此 BaseActivity 的 showDialog() 方法。

关于java - Android 显示 AlertDialog,无论用户 Activity 如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45184802/

相关文章:

java - 在不使用openoffice的情况下从java中的doc转换为pdf

java - 如何获取没有元素子元素的元素内文本的CSS句柄

android - 软键盘打开时调整滚动位置

android - 在 Android 中为 ListView 之外的单元格设置动画

Android Activity 无法实例化

android - 将服务中的数据发送回我的 Activity

java - 列表数据设置和顺序问题

java - 无法从 POST 请求检索数据

android - 返回包的值始终为 0

java - 尝试启动新 Activity 时出现空指针异常