gpt4 book ai didi

android - WebView + ActionBarSherlock = 网站未加载,空白页面,为什么...?

转载 作者:行者123 更新时间:2023-11-30 03:41:22 25 4
gpt4 key购买 nike

这可能有点先兆,所以我最好也解释一下。我只希望 webview 显示操作栏。所以在 sytles.xml 中,我将其称为基本主题:

parent="android:style/Theme.Holo.Light.NoActionBar"

我将该主题分配给了我的 MainActivity,而不是整个应用程序。

因为我想在我的 WebView Activity 中有一个操作栏,所以我在 list 中为该 Activity 分配了以下内容:

<activity 
android:name=".WebViewActivity"
android:theme="@style/Theme.Sherlock.Light">
</activity>

我已经确保在我的 list 中调用互联网权限,这里是 webview 的 Activity 代码和布局文件:

package com.name.here; //Removed for this question

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebViewActivity extends SherlockActivity {

private WebView webView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webster);

webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
//webView.loadUrl("http://www.google.com");

webView.setWebViewClient(new WebViewClient(){

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
url ="http://google.com";
view.loadUrl(url);
return true;
}
});

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
case R.id.AboutMenuItem:
return true;
default:
return super.onOptionsItemSelected(item);

}
}
}

和布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<WebView
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>

如您所见,我已尝试打开 Google。问题是它加载了一个空白页。好吧,操作栏加载得很好,但 WebView 应该加载 Google 的 Activity 的其余部分是空的。这就是我剩下的:

enter image description here

我应该注意到操作栏确实填充了项目和应用程序的名称。我只是在这张图片中把它们拿出来了。操作栏加载得很好,但仅此而已。

Logcat 不提供任何内容、错误或警告。任何帮助表示赞赏。我认为设置 WebView 会非常简单。

最佳答案

您的 shouldOverrideUrlLoading 代码已损坏。它应该返回 true 或 false,并且自己加载。 view.loadUrl() 只会触发对 shouldOverrideUrlLoading 的回调,最终会导致崩溃。

改为这样做:

   public boolean shouldOverrideUrlLoading(WebView view, String url) {
// do something to the url here if needed
return false;
}

关于android - WebView + ActionBarSherlock = 网站未加载,空白页面,为什么...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com