runOnUiThread 在 Android 中不起作用

runOnUiThread doesn't work in Android

我在 logcat 上看到 Here3 和 Here4 True True,但命令(alertdialog、mediaPlayerStop 和 VibrateStop)在 运行() 方法中不起作用。有什么建议吗? 提前致谢。

    if(check == 1)
    {
        Log.i("XXX", "Here3");
        runOnUiThread(new Runnable()
        {
            @Override
            public void run()
            {
                new Handler().postDelayed(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        Log.i("XXX", "Here4 " + voiceSwitch.isChecked() + " " + vibrateSwitch.isChecked());
                        if(voiceSwitch.isChecked())
                        {
                            mediaPlayerStop();
                        }
                        if(vibrateSwitch.isChecked())
                        {
                            vibrateStop();
                        }
                        builder.show().dismiss();
                    }
                }, 5000);
            }
        });
    }

您不能将 运行 线程与 UI 一起使用 使用 AsynckTask class 并使用 builder.show().dismiss();

实现方法 onPostExecute()

可能是一个简单的遗漏,就像我能看到那行

 new Handler().postDelayed(new Runnable()

没有关闭)

猜想应该是:

new Handler().postDelayed(new Runnable());