7

今日の午後、WebView を機能させようとして頭を壁にぶつけていました。以下は、メイン クラスのコードです。

public class fkyougoogle extends Activity {
    /** Called when the activity is first created. */
 WebView webview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        webview = (WebView) findViewById(R.id.webview);
        webview.getSettings().setJavaScriptEnabled(true);
        // WORKS
        //webview.loadUrl("http://www.google.com");
        // DOESN'T WORK
        //webview.loadUrl("http://www.theregister.co.uk");
        //webview.loadData("<html><body>hello</body></html>", "text/html", "utf-8");
        //webview.loadDataWithBaseURL("fake://", "<html><body>hello</body></html>", "text/html", "utf-8", "http://www.theregister.co.uk/");

    }
}

これは、Google の「Hello, Webview」の例です。WebView を使用して www.google.com にアクセスしようとすると、正常に動作します。他のサイトにアクセスしようとすると、loadData を含めて失敗し、エミュレーターに黒い画面が表示されるだけです。最後に、ローカルファイルから読みたいと思います。

manifest タグの下に含まれており、XML スキーマは Hello Webview の例と同じです。

ここで明らかな何かが欠けていますか?:(

4

3 に答える 3

8

変更してみてください

android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:layout_width="fill_parent"
android:layout_height="fill_parent"

main.xmlトップレベルLinearLayoutで

次のようになります。

<?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/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    />

</LinearLayout>
于 2010-01-02T06:37:27.083 に答える
0

WebView が完全に空白になるという同様の問題がありましたが、私の場合は android.permission.INTERNET uses-permission の欠落が原因でした。

于 2012-05-10T07:10:39.923 に答える
0

UTF-8最後の 2 回の試行の代わりに試してくださいutf-8同じコードを使用してhttp://www.theregister.co.ukを読み込むのに問題はありません。ビルトインのブラウザ アプリに読み込んでみてください。失敗した場合は、何らかのファイアウォール/プロキシの問題が発生している可能性があります。 .

私の本の 1 つから、WebView の簡単な使用法を示すいくつかのプロジェクトを次に示します。

于 2009-12-30T20:20:34.750 に答える