android webview客户端活动指示器

我得到了在web视图中显示活动指示器的代码。我检查了多个参考文献,但仍然无法正常工作。你能帮我调试我的代码吗?android webview客户端活动指示器

活性指示器不与下面的代码来下面代码

protected void onCreate(Bundle savedInstanceState) { 

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

this.getWindow().requestFeature(Window.FEATURE_PROGRESS);

final BaseActivity MyActivity = ReviewWebActivity.this;

setContentView(R.layout.review_web);

getWindow().setFeatureInt(Window.FEATURE_PROGRESS,

Window.PROGRESS_VISIBILITY_ON);

ScannedProduct product = getReviewUrl();

reviewUrl = product.getReviewLink();

if (reviewUrl == null) {

String err = product.getErrorCode();

if(err.equals("")) err ="No Data Available for this product";

Toast.makeText(getApplicationContext(),

"No Data Available for this product", 1).show();

return;

}

webReview = (WebView) findViewById(R.id.webReview);

webReview.setWebChromeClient(new WebChromeClient() {

public void onProgressChanged(WebView view, int progress) {

// Make the bar disappear after URL is loaded, and changes

// string to Loading...

MyActivity.setTitle("Loading...");

MyActivity.setProgress(progress * 1000); // tried with 100 also

}

});

webReview.setWebViewClient(new ReviewWebClient());

webReview.getSettings().setJavaScriptEnabled(true);

webReview.loadUrl(reviewUrl);

}

回答:

import android.app.Activity; 

import android.app.ProgressDialog;

import android.os.Bundle;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class SandbarinFacebook extends Activity {

WebView mWebView;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final ProgressDialog pd = ProgressDialog.show(this, "", "Loading...",true);

mWebView = (WebView) findViewById(R.id.webkitWebView1);

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.getSettings().setSupportZoom(true);

mWebView.getSettings().setBuiltInZoomControls(true);

mWebView.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

if(pd!=null && pd.isShowing())

{

pd.dismiss();

}

}

});

mWebView.loadUrl("http://www.yahoo.co.in");

setTitle("Yahoo!");

}

}

回答:

写在活动的onCreate方法。

webView.setWebChromeClient(new ChromeClient()); 

progress=ProgressDialog.show(this, "", "Loading...");

webView.loadUrl(url);

创建ChromeClient类在同一活动。

private class ChromeClient extends WebChromeClient { 

@Override

public void onProgressChanged(WebView view, int newProgress) {

if(newProgress >= 85) {

progress.dismiss();

}

super.onProgressChanged(view, newProgress);

}

}

相应地声明对象。回到我身边如果你仍然面临错误。我将提供完整的源代码。

回答:

我无法发表评论,因为我没有足够的声望点,只是对已接受的答案进行了快速评论:在检查对话框是否显示之前检查是否为空。这将避免可怕的NPE。

if(pd != null && pd.isShowing()) { ... } 

以上是 android webview客户端活动指示器 的全部内容, 来源链接: utcz.com/qa/261433.html

回到顶部