如何显示正在运行的线程警告对话框?(How to show alert dialog in a ru

2019-06-28 07:09发布

我正在开发一个Android Game.In本场比赛,有上轨道列车运行。 这是正在运行的线程。 我想说明一个警告对话框时有发生碰撞。 当我申请的警告对话框中显示误差不能创建内螺纹已不叫处理looper.prepare()

Answer 1:

你必须需要创建AlertDialog UI线程否则它永远不会在里面工作。 如果你是在不同的线程使用MessageHandler或者可以使用runOnUiThread (使用可运行)来创建你的对话框内。



Answer 2:

这将帮助你:

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        // Your dialog code.
    }
});


Answer 3:

您可以创建活动课的处理程序,并可以调用SendMessage函数是处理对象。 编写代码在处理程序的的handleMessage方法来显示警报,例如:

活动课

Handler mHandler = new Handler()
{
    public void handleMessage(Message msg)
    {
       //Display Alert
    }
};

//Thread

Thread thread= new Thread()
{
    public void run()
    {
         //Logic
         MHandler.sendEmptyMessage(0);
    }
}


Answer 4:

您可以使用处理程序来完成这项工作。

Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.post(new Runnable() {
    @Override
    public void run() {
        // Your UI updates here
    }
});


Answer 5:

你必须让你像下面UI线程对话

runOnUiThread(new Runnable() {
                @Override
                public void run() {
                // Your dialog code.
                }
            });


Answer 6:

你可以试试这个,以检查应用程序可见

Activity currentActivity = MainClassApp.getCurrentActivity();
boolean isAppVisible = currentActivity != null;

if (isAppVisible) {
    currentActivity.runOnUiThread(() -> 
    // Your Dialog Code 
}


文章来源: How to show alert dialog in a running thread?