我已经在stackoverflow上查看了Android API和其他帖子,但一直无法解决这个问题.
我的应用程序将文件下载到SD卡.我想在文件下载时弹出"加载..."对话框,然后在下载完成后消失.这是我使用android API提出的:
ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);
//download file
pd.cancel();
Run Code Online (Sandbox Code Playgroud)
但是对话框实际上并没有显示.当我调试它时,它声称它正在显示,但它显然不在屏幕上.
我能做什么?
dismiss()在加载webview后,我需要对代码进行对话才能生成什么内容?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
CookieSyncManager.createInstance(this);
CookieSyncManager.getInstance().startSync();
webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new homeClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setPluginsEnabled(true);
webview.loadUrl("http://google.com");
ProgressDialog pd = ProgressDialog.show(Home.this, "",
"Loading. Please wait...", true);
}
Run Code Online (Sandbox Code Playgroud)
我试过了
public void onPageFinshed(WebView view, String url){
pd.dismiss();
}
Run Code Online (Sandbox Code Playgroud)
没工作.
我可以使用以下代码显示进度条
pd = ProgressDialog.show(myActivity.this, "", "Loading. Please wait...", true);
Run Code Online (Sandbox Code Playgroud)
直截了当,但是一旦我有代码执行,我希望它消失,但是当我在看不到对话框显示之后运行dismiss方法时.
下面是包含在oncreate中的上下文中的代码
pd = ProgressDialog.show(myActivity.this, "", "Loading. Please wait...", true);
runCode();
setListAdapter(new CustomAdapter(myActivity.this));
pd.dismiss();
Run Code Online (Sandbox Code Playgroud)
我以为你可以在活动的任何地方显示/解除进度对话框,但我一定是错的.