java - Android 中未显示对话框

标签 java android android-alertdialog

我有一些特定的逻辑,其中需要等待 5 秒才能关闭微调器并显示对话框消息。一切正常,但未显示对话框消息。如果我毫不拖延地做同样的事情,它就会起作用。 我的代码是:

public static void showMessageNotSentDialog(Activity inActivity)
{
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(inActivity);                       
    alertDialogBuilder.setTitle(R.string.error);         

    alertDialogBuilder.setMessage(R.string.error_sending_message);
    alertDialogBuilder.setCancelable(false);

    alertDialogBuilder.setPositiveButton(R.string.ok,new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int id) {
        }

    });

    AlertDialog alertDialog = alertDialogBuilder.create();      
    alertDialog.show();
}

public static void showDelayedErrorMessage(final Activity inActivity)
{

    Runnable task = new Runnable() {
        public void run() {
            com.test.classes.Spinner.hideSpinner();
            showMessageNotSentDialog(inActivity);

      }
      worker.schedule(task, com.test.classes.Spinner.TEXT_SPINNER_HIDEOUT_SEC, TimeUnit.SECONDS);
}

尝试从 UI 线程显示对话框:

public static void showDelayedErrorMessage(final Activity inActivity)
{

    Runnable task = new Runnable() {
        public void run() {
            com.test.classes.Spinner.hideSpinner();

            Runnable messageTask = new Runnable() {
                public void run() {
                    showMessageNotSentDialog(inActivity);
                }
              };
              inActivity.runOnUiThread(messageTask);
        }
      };

      worker.schedule(task, com.test.classes.Spinner.TEXT_SPINNER_HIDEOUT_SEC, TimeUnit.SECONDS);         
}

最佳答案

使用倒数计时器,无需使用线程

    new CountDownTimer(5000,5000) {

        @Override
        public void onTick(long arg0) {

        }

        @Override
        public void onFinish() {

        }
    }.start();

onfinish 5 秒后执行

关于java - Android 中未显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394734/

相关文章:

java - 在开始新 Intent 之前警报对话框出现两次

java - 在JSP中调用Spring bean方法

java - 如何为简单的 Maven 应用程序配置 slf4j 以正确显示日志?

Java OpenGL - 透明背景可以看到下面的面板层吗?

Android 位图内存泄漏

Android 将信息传递给 SingleInstance Activity

android - 刷新在该 Activity 中按下后进入 Activity 的 fragment

java - 使用 EclipseLink 和 Querydsl 的自定义数据类型

android - 尝试在 builder.setPositiveButton 的 onClick() 方法中放置一些代码时获取 'Cannot resolve method ' addOnCompletionListener( )'.......'

android - 为警报对话框项设置自定义字体的字体