Intereting Posts
Значок на Android TabHost Как я могу добавить facebook SDK в проект Android? RecyclerView сохраняет / восстанавливает состояние между действиями Удалите круг из Android Google Maps API v2 без очистки карты Android TextView: «Не конкатенировать текст, отображаемый с помощью setText» Новый пакет еще не зарегистрирован в системе. Ошибка на реальном телефоне Android Espresso: последовательное выполнение нескольких тестов Новый интерфейс Google Now и Google+ Ошибка ADB и Genymotion: «Сервер adb устарел. Убийство … невозможно связать 'tcp: 5037' Сервер ADB не ACK " Макеты Android и автоматическое изменение размера изображения Вывод Android os.arch для ARM, MIPS, x86? Как определить, когда пользователь включает / выключает состояние gps? Appcompat / добавить библиотеку с Android-студией Android: AsyncTask делает запрос HTTP GET? Ошибка: подозрительное пространство имен и префиксная комбинация при попытке создания подписанного APK

Android WebView – перехватывает клики

Я написал простое приложение helloworld с WebView, которое имеет ссылку на CNN на странице simple.html в моей папке с ресурсами.

<a href="http://cnn.com">cnn.com</a> 

Как я могу зафиксировать этот клик по моей активности, остановить навигацию WebView, а затем сообщить об активности, которую был нажат « http://CNN.com »?

Solutions Collecting From Web of "Android WebView – перехватывает клики"

Затем вы должны установить WebViewClient в свой WebView и переопределить shouldOverrideUrlLoading и onLoadResource . Позвольте мне привести простой пример:

 WebView yourWebView; // initialize it as always... // this is the funny part: yourWebView.setWebViewClient(yourWebClient); // somewhere on your code... WebViewClient yourWebClient = new WebViewClient(){ // you tell the webclient you want to catch when a url is about to load @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ return true; } // here you execute an action when the URL you want is about to load @Override public void onLoadResource(WebView view, String url){ if( url.equals("http://cnn.com") ){ // do whatever you want } } }