我的应用中有一个显示WebView的活动。 WebView永远不会加载到我的Nexus 4或Nexus 7设备上(两者都运行Jellybean 4.2)。我测试的其他所有设备都可以正常工作。
这是活动代码和布局:
public class SuperWebView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
setContentView(R.layout.web_view);
final String URL = getIntent().getExtras().getString("URL");
loadWebView(URL);
} catch (Exception e) {
Log.e(getLocalClassName(), "== onCreate == " + e.toString());
e.printStackTrace();
}
}
private void loadWebView(String URL) {
WebView mWebView = (WebView) findViewById(R.id.wvContainer);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
Log.d("WebView", "onPageFinished");
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("WebView", "shouldOverrideUrlLoading");
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, android.graphics.Bitmap favicon) {
Log.d("WebView", "onPageStarted");
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.d("WebView", "onRecievedError");
}
});
Log.d(getLocalClassName(), "Loading URL: " + URL);
mWebView.loadUrl("http://www.google.com");
}
}
这是它使用的布局(res / layout / web_view.xml):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/header"
android:paddingLeft="5dp"
android:paddingRight="5dp" >
<TextView
android:id="@+id/tvHeaderText"
style="@style/MastHeadTitle"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/ship_method" >
</TextView>
<Button
android:id="@+id/btnWebViewBack"
style="@style/MastHeadButton"
android:layout_alignParentLeft="true"
android:text="@string/back_button_text" >
</Button>
<TextView
android:id="@+id/tvWebViewRight"
style="@style/cartMofNText"
android:text="@string/step_2_4" >
</TextView>
</RelativeLayout>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wvContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
我一直试图找出这个问题已经好几天了,并且无法在任何地方找到任何信息。我覆盖的WebViewClient方法都没有被触发,WebView仍然是空白/不可见的。我尝试使用clearCache,clearView,reloadView等,没有任何效果。
我还有另一个在应用程序的其他地方使用WebView的活动,它工作正常直到我尝试运行这个SuperWebView活动,然后它们都破坏了。我还尝试从assets文件夹加载本地HTML文件,它也不起作用。