Я создаю приложение, использующее WebView для доступа к онлайн-сайту. Я застрял там, где мне нужно добавить код, чтобы проверить доступность страницы.Страница пользовательской ошибки Android для веб-сайтов
public class SpartanWeb extends Activity {
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Adds Progrss bar Support
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
// Makes Progress bar Visible
getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
// Get Web view
mWebView = (WebView) findViewById(R.id.webView1);
WebSettings websettings = mWebView.getSettings();
websettings.setJavaScriptEnabled(true);
mWebView.stopLoading();
mWebView.clearCache(true);
mWebView.loadUrl("http://google.com");
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
}
});
// onProgressChanged
final Activity MyActivity = this;
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// bar disappear after URL is loaded, and changes string to
// Loading...
MyActivity.setTitle("Loading...");
MyActivity.setProgress(progress * 100); // Make the bar
// disappear after URL
// is loaded
// Return the app name after finish loading
if (progress == 100)
MyActivity.setTitle(R.string.app_name);
}
});
}// EOM oc
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
Я пытаюсь добавить onReceivedError, но по какой-то причине пользовательской страницы не загружаются.
/** Called when the activity is first created. */
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
mWebView.loadUrl("file:///android_asset/error.html");
}
Просьба сообщить, что делать.
реализовать onRecievedError в setWEbChromeClient – Jois
, если я поставил onReceiveError как этот 'mWebView.setWebChromeClient (новый WebChromeClient() { \t \t \t общественности недействительным onReceivedError (вид WebView, внутр ERRORCODE, описание String, String failingUrl) \t \t \t { \t \t \t mWebView.loadUrl ("file: ///android_asset/error.html"); \t \t \t} 'по-прежнему получать сообщение об ошибке по умолчанию - сайт не доступно – Ivan
я добавил к setWebViewClient и его работы :)' mWebView.setWebViewClient (новый WebViewClient() { \t \t \t @Override общественности недействительным onReceivedError (вид WebView, INT ERRORCODE, описание String, String failingUrl) { \t \t \t mWebView.loadUrl ("файл: ///android_asset/greska.html"); \t \t \t}}); ' – Ivan