0

アクティビティで webView を起動するアプリケーションを作成しています。しかし、それはWebブラウザで起動されました。

リンクこのチュートリアルも参照します

しかし、使用するshouldOverrideUrlLoadingと、空白の画面しか表示されません。

その問題については、このリンクを参照しました

しかし、私の場合は誰も助けません..

私は自分のコードを与えました。

私が犯した間違いに注意してください。

私のコードは次のとおりです。

webview.xml

<?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:gravity="center_horizontal|center_vertical"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal|center_vertical" >
    </WebView>

</LinearLayout>

WebViewActivity.java

public class webViewActivity extends Activity {

    private WebView webView;
    private String strUrl;
    public final String TAG = "webViewActivity";
    ProgressBar progBar;

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        getWindow().requestFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.webview);
        Bundle bundle = getIntent().getExtras();
        strUrl = bundle.getString("URL");
        Log.d(TAG, "link is " + strUrl);
        // strUrl = "www.google.com";
        webView = new WebView(this);
        webView.loadUrl(strUrl);

        // progBar = (ProgressBar)findViewById(R.id.progWeb);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // TODO Auto-generated method stub
                view.loadUrl(strUrl);
                return true;
            }
        });
}

私の間違いを訂正するのを手伝ってください。

前もって感謝します!!

4

2 に答える 2

3
    <WebView
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal|center_vertical" >
   </WebView>

アクティビティで、webview の ID を見つける必要があります。

webView = new WebView(this);

Webビューを作成していますが、レイアウトに同じものを追加していません

xml で既に webview を定義しているため、同じものを再度作成する必要はありません。WebView の ID を見つけて、それに応じて URL を読み込みます。

   setContentView(R.layout.webview);
   webView = (WebView) findViewById(R.id.webView);// you need to find the id of webview
   Bundle bundle = getIntent().getExtras();
   strUrl = bundle.getString("URL");      
   webView.loadUrl(strUrl);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
            view.loadUrl(strUrl);
            return true;
        }
    }); 

マニフェスト ファイルにインターネット アクセス許可が追加されていることを確認してください

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

作業サンプルについては、下のリンクの編集 2 を確認してください。

WebView で戻るボタンを有効にする

于 2013-04-23T07:56:36.803 に答える