2

我想尽快将内容刷新到显示器,但我希望在 UI 线程上拥有的设置代码花费的时间太长。在一切完成之前,屏幕上不会呈现任何内容。

因此,如果我执行 View.postDelayed(Runnable, long) 延迟至少 100 毫秒,则布局会在设置开始之前呈现。我想要做的是在 onResume 屏幕上呈现布局(例如),然后继续设置。

我正在寻找一种方法来确保 Looper 清空它的 MessageQueue 并呈现所有内容,直到调用此方法,然后继续处理消息。

我可能应该在后台线程中运行设置,但这会使其他事情复杂化。

4

1 回答 1

0
final Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) 
        {
           dialog.dismiss();

        }

    };
  dialog = ProgressDialog.show(Activity.this, "", "Loading ...", false);

            new Thread() 
              {
                public void run()
                 {
                    while(Condition)
                      {
                         do Something
                      }
                    handler.sendEmptyMessage(0);
                 }
               }.start();
于 2012-05-16T13:22:17.943 回答