在活动之间加载而不是黑屏

时间:2013-10-10 14:42:29

标签: android performance


是否可以在加载期间对活动执行加载屏幕/对话框?
我的所有页面都是单一的。这感觉有点不合情理。
我尝试使用加载对话框。 这是我活动的onCreate。

ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "", 
                "Loading. Please wait...", true);
onFill(name);
dialog.cancel();

这不起作用:(
我的意图例如:

Intent intent = new Intent();
intent.setClass(main_list.this, settings.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
System.exit(0);

2 个答案:

答案 0 :(得分:1)

onCreate

MyActivity中尝试此操作
dialog = ProgressDialog.show(MyActivity.this, "", 
                "Loading. Please wait...", true);

new Thread(new Runnable() {
  @Override
  public void run()
  {

    //do here your work i.e. call onFill(name);

    runOnUiThread(new Runnable() {
      @Override
      public void run()
      {
        dialog.dismiss();
      }
    });
  }
}).start();

答案 1 :(得分:0)

您在显示cancel()后呼叫ProgressDialog

ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "", 
            "Loading. Please wait...", true);
onFill(name);
dialog.cancel();

我不知道onFill(name)做了什么,但也许您想要在该方法中设置取消调用,这意味着您需要将ProgressDialog作为成员变量或只是将调用发送到{ {1}}也在该方法中。