onPageFinished()从未调用过(webview)!

我想在webview完全加载时显示一个toast。 但吐司永远不会出现,我不知道为什么……我的代码是:

public class WebViewSignUp extends Activity{ WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webviewsignup); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); ((TextView)findViewById(R.id.home)).setOnClickListener(new OnClickListener(){ public void onClick(View v) { finish(); } }); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(mWebView, url); Toast.makeText(getApplicationContext(), "Done!", Toast.LENGTH_SHORT).show(); } }); mWebView.loadUrl("http://pabebbe.com/m/register"); mWebView.setWebViewClient(new WebViewClient() { public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(getApplicationContext(), "Oh no! " + description, Toast.LENGTH_SHORT).show(); } }); } } 

第二次调用setWebViewClient()会覆盖第一个。

仅在同一个类中创建具有两个覆盖的WebViewClient的单个实例,并且仅调用setWebViewClient一次。 然后加载Webview:

 mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(mWebView, url); Toast.makeText(getApplicationContext(), "Done!", Toast.LENGTH_SHORT).show(); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(getApplicationContext(), "Oh no! " + description, Toast.LENGTH_SHORT).show(); } }); mWebView.loadUrl("http://pabebbe.com/m/register");