我对 Android/Java 很陌生,我的第一个应用程序使用 MetaIO SDK。
我正在尝试在应用程序(MetaIO SDK)加载时实现“正在加载”进度条。
- 显示叠加背景
- 出现加载对话框,并且“加载图像”开始旋转
- 叠加背景消失并且加载图像停止旋转 <- 问题
- 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();
}
}
我做错了什么吗?
附注完整的源代码可以在这里找到:link text 附言相关this question ,但我正在使用那里建议的技术,但它仍然不起作用
最佳答案
我遇到了类似的问题,我通过在 UI 线程上运行 UI 处理代码来解决它,如下所示
runOnUiThread(new Runnable() {
@Override
public void run() {
if (imgvExampleOverlay != null)
imgvExampleOverlay.setVisibility(View.VISIBLE);
}
});
imgvExampleOverlay 是一张类似于用户必须捕获的图像。
希望这有帮助
关于java - 加载 SDK 时 MetaIO ProgressDialog 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882464/