进度对话无法停止

时间:2012-12-15 07:42:20

标签: android

我是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页面。但是进度对话框无法停止。

4 个答案:

答案 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,因此旧的对话框将始终显示。

要解决此问题,您有很多选择:

  1. 正如lmran所说,只在onCreate()中创建一次对话框。在onPageStarted中显示并在onPageFinished中显示。
  2. 在创建新对话框之前,请关闭旧对话框。

答案 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