0

これは私のAndroidManifest.xmlファイルです:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="org.example.webviewdemo" android:versionCode="1"
  android:versionName="1.0.0">

  <uses-permission android:name="android.permission.INTERNET" />

    <application android:icon="@drawable/icon"
        android:label="@string/app_name">

        <activity android:name=".WebViewDemo" 
            android:label="@string/app_name">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

    </application>

</manifest> 

私が書いているアプリは、WebView に Web ページを表示します。ユーザーが URL を入力し、[go] をクリックするとページが表示されるはずですが、Web ページが利用できないというエラーが表示されます。以下のJavaコードを見つけることができます:

package org.example.webviewdemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class WebViewDemo extends Activity {
    private class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

    private WebView webView;
    private EditText urlField;

    private Button goButton;


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

        // Create reference to UI elements
        webView  = (WebView) findViewById(R.id.webview_compontent);
        urlField = (EditText)findViewById(R.id.url);
        goButton = (Button)findViewById(R.id.go_button);

        // workaround so that the default browser doesn't take over
        webView.setWebViewClient(new MyWebViewClient());

        // Setup click listener
        goButton.setOnClickListener( new OnClickListener() {
            public void onClick(View view) {
                openURL();
            }
        });


        urlField.setOnKeyListener( new OnKeyListener() {
            public boolean onKey(View view, int keyCode, KeyEvent event) {
                if(keyCode==KeyEvent.KEYCODE_ENTER) {
                    openURL();
                    return true;
                } else {
                    return false;
                }
            }
        });

    }

    private void openURL() {
        webView.loadUrl(urlField.getText().toString());
        webView.requestFocus();
    }    
}
4

1 に答える 1

0
private void openURL() {
    webView.loadUrl(urlField.getText().toString());
    webView.requestFocus();
} 

Log.d() urlField.getText().toString() をお願いできますか? 次のように、どの文字列が WebView に送信されるかを確認するだけです。

Log.d("web string is ", urlField.getText().toString());

このようにして、LogCat ウィンドウを開き、実際に WebView に送られているものを追跡できます

于 2013-03-19T01:35:57.323 に答える