1

我对 Android/Java 很陌生,我的第一个应用程序是使用 MetaIO SDK。

我正在尝试实现“加载”进度条,而应用程序(MetaIO SDK)正在加载。

  1. 显示叠加背景
  2. 出现加载对话框,“加载图像”开始旋转
  3. 叠加背景消失,加载图像停止旋转<-问题
  4. 2-3 秒后它解冻并执行 ARELViewActivity。

编码:

public void onScanButtonClick(View v)
{
  new ScanLoadingDialog().execute(0);
}

private class ScanLoadingDialog extends AsyncTask<Integer, Integer, Boolean>
{
  //Before running code in separate thread
  @Override
protected void onPreExecute()
{
    progressDialog = new ProgressDialog(MainActivity.this);
    progressDialog.setMessage("Loading");
    progressDialog.setCancelable(false);
    progressDialog.setIndeterminate(false);
    progressDialog.show();
}

@Override
protected Boolean doInBackground(Integer... params)
{
  try
  {
    synchronized (this) {
      AssetsManager.extractAllAssets(getApplicationContext(), true);
      startActivity( new Intent(getApplicationContext(), ARELViewActivity.class));
    }

  }
  catch (IOException e)
  {
    MetaioDebug.log(Log.ERROR, "Error extracting assets: "+e.getMessage());
    MetaioDebug.printStackTrace(Log.ERROR, e);
    return false;
  }

  return true;
}

@Override
protected void onPostExecute(Boolean result)
{
  progressDialog.dismiss();
  finish();
}

}

难道我做错了什么?

PS 完整的源代码可以在这里找到:链接文本 PSS 与此问题相关,但我正在使用那里建议的技术,它仍然不想工作

4

1 回答 1

0

我有一个类似的问题,我通过像这样在 UI 线程上运行 UI 处理代码来解决它

runOnUiThread(new Runnable() {
  @Override
  public void run() {
    if (imgvExampleOverlay != null) 
        imgvExampleOverlay.setVisibility(View.VISIBLE);
    }
  });

imgvExampleOverlay是用户必须捕获的图像。

希望这可以帮助

于 2013-10-11T20:25:53.683 回答