首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MetaIO progressDialog在加载SDK时冻结

MetaIO progressDialog在加载SDK时冻结
EN

Stack Overflow用户
提问于 2013-09-18 21:14:35
回答 1查看 174关注 0票数 1

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

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

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

守则:

代码语言:javascript
复制
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();
}

}

我做错了什么吗?

完整的源代码可以在这里找到:链接文本 P.S.S.与这个问题相关,但我使用的是这里建议的技术,它仍然不想工作。

EN

回答 1

Stack Overflow用户

发布于 2013-10-11 20:25:53

我也遇到了类似的问题,我通过在UI线程上运行UI处理代码来解决这个问题,如下所示

代码语言:javascript
复制
runOnUiThread(new Runnable() {
  @Override
  public void run() {
    if (imgvExampleOverlay != null) 
        imgvExampleOverlay.setVisibility(View.VISIBLE);
    }
  });

imgvExampleOverlay是一个类似于用户必须捕捉的图像。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18882464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档