Я использую веб-просмотр в своем приложении для Android, однако после завершения загрузки, которое я могу обнаружить с помощью onPageFinished (WebView webview, String url), страница продолжает бесконечно расти в высоту.
Как я могу предотвратить это?
Вот что я делаю.
У меня есть общий шаблон страницы, который содержит ScrollView. Ширина и высота устанавливаются в соответствии с родителем. Внутри ScrollView есть несколько общих элементов для всех действий, которые я создаю. Один из них — LinearLayout, куда я вставляю весь пользовательский контент.
..... <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:layout_margin="0dp" android:padding="0dp" android:scrollbars="none" > ...... <LinearLayout android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0dp" android:padding="0dp" android:orientation="vertical"> //EVERY USER CONTENT GOES HERE </LinearLayout> ...... </ScrollView>
.....
В данном конкретном случае контент представляет собой веб-страницу, которая загружает карты Google с помощью мобильного веб-API. Вот файл макета
<?xml version="1.0" encoding="utf-8"?> <WebView android:id="@+id/maps" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="0dp" android:padding="0dp" />
Вот код моей активности, который инициализирует веб-просмотр
.... WebView wv = (WebView)this.content.findViewById(R.id.maps);
WebSettings ws = wv.getSettings();
ws.setPluginState(PluginState.ON); ws.setSupportZoom(false); ws.setLightTouchEnabled(true); ws.setDomStorageEnabled(true); ws.setAppCacheMaxSize(1024 * 1024 * 8); ws.setAppCachePath(context.getCacheDir().getAbsolutePath()); ws.setAppCacheEnabled(true); ws.setAllowFileAccess(true); ws.setCacheMode(WebSettings.LOAD_NORMAL); ws.setJavaScriptEnabled(true); wv.setInitialScale(0); wv.addJavascriptInterface(new Object(), "Android"); wv.setKeepScreenOn(true);
Наконец, когда я загружаю карты через wv.loadUrl("........");
после завершения загрузки страницы я получаю следующие журналы, и веб-просмотр растет в бесконечном цикле
02-18 14:16:06.195: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.394: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.480: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.527: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.582: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.632: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.683: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.734: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.785: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.875: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:06.957: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.058: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.332: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.398: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.449: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.496: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.554: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.605: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.652: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.707: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.742: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.792: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.839: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.902: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:07.949: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.015: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.066: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.113: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.164: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.214: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.250: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.300: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.335: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.386: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.437: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.484: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.531: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.566: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.613: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.667: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.714: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.750: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.847: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.902: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:08.949: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.003: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.035: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.085: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.121: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.167: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.218: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.253: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.304: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.367: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.417: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.476: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.523: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.585: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.632: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.664: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.710: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.765: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.812: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.863: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.894: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.957: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:09.992: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.042: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.097: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.148: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.179: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.226: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.277: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.328: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.378: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.410: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.460: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.511: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.546: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.597: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.648: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.679: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.730: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.781: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.835: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.886: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.925: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:10.976: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.011: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.066: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.125: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.183: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.214: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.265: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.320: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.371: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.402: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.453: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.507: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.558: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.589: VERBOSE/webview(10904): OnSizeChanged: Enter
02-18 14:16:11.644: VERBOSE/webview(10904): OnSizeChanged: Enter
.......... This goes on ...........
Я заметил, что это происходит, когда страница содержит jQuery. Но эта же страница нормально загружается в стандартном браузере.
Любая идея, почему это происходит, и как это можно исправить?
Любая значимая помощь приветствуется... Спасибо.