我是android的新手。我在我的应用程序中使用进度对话但它无法停止。在我的应用程序中我使用webview。在第一个活动我有连接按钮。在第二个活动连接到Facebook代码是可用的。第二个活动代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.facebook);
wvFacebook.setWebViewClient(new MyWebViewClient());
wvFacebook.loadUrl(strFacebook);
}
private class MyWebViewClient extends WebViewClient
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
prDialog = ProgressDialog.show(getParent(), "In progress", "Loading, please wait...");
}
@Override
public void onPageFinished(WebView view, String url) {
Log.e("status","calling....");
super.onPageFinished(view, url);
prDialog.dismiss();
Log.e("status","calling next......");
}
}
当点击连接按钮时,将执行第二个活动并获取Facebook页面。但是进度对话框无法停止。
答案 0 :(得分:1)
试试这个
首先在onCreate()
ProgressDialog progressDialog =new ProgressDialog(getApplicationContext());
progressDialog.setMessage("Please Wait");
然后在onPageStarted()
方法中显示对话框。
progressDialog .show();
然后在onPageFinished()
方法
progressDialog.cancel();
答案 1 :(得分:0)
你不应该在onPageStart中创建Dialog,在加载网页时,可以多次调用onPageStart()。
在onPageStart中,您创建一个新的Dialog而不关闭旧的Dialog,因此旧的对话框将始终显示。
要解决此问题,您有很多选择:
答案 2 :(得分:0)
只使用此代码并试用,
@Override
public void onPageFinished(WebView view, String url) {
Log.e("status","calling....");
super.onPageFinished(view, url);
if (prDialog != null || prDialog.isShowing())
prDialog.dismiss();
Log.e("status","calling next......");
}
答案 3 :(得分:0)
SELECT * FROM redcap_data ;
OUTFILE ' ", DATE_FORMAT(now(),'%Y%m%d_%H%i'),".csv';
FIELDS TERMINATED BY ',' ;
OPTIONALLY ENCLOSED BY '"';
LINES TERMINATED BY "\n";
您也可以访问以下链接以获取完整的详细信息......
http://androiddubd.blogspot.com/2014/07/how-to-show-progress-dialog-or-loader.html