1

みなさんこんにちは。

これは私のコードです。アプリでメニューを作成しました。項目の 1 つが URL を正しく開きます。WebViewしかし、これで URL を開きたいと思いますWebSettings。しかし、うまくいきません。

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case WEBSITE:
        Toast.makeText(Activity.this, "About", Toast.LENGTH_SHORT).show();
        Uri uri = Uri.parse("http://www.english.com/about");
        Intent it = new Intent(Intent.ACTION_VIEW,uri);
        WebView web = new WebView(this);
        WebSettings webSettings = web.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(false);
        startActivity(it);
        return true;

これらの Web 設定は機能しません。

4

2 に答える 2

2

ブラウザを起動して Web ページを表示するということは、ブラウザが URL を表示することになり、別のアプリケーションの定義済み設定を制御できないことを意味します。独自の を使用しようとしている場合はWebView、次のように URL をロードします。

 webview.loadUrl("http://www.english.com/about");
于 2013-03-05T01:07:31.733 に答える
1

間違っていることが 2 つあります。1) 新しいWebViewものを作成するがビュー ツリーにアタッチしないこと、2) 表示したい URL の表示を処理するように外部アプリに依頼すること。WebViewを xml レイアウト ファイルに追加するかview.addChild(web);、ルート ビューで を使用してビュー ツリーにアタッチする必要があります。WebViewがビュー ツリーの一部になったら、呼び出しweb.loadUrl(...);て Web ページをロードするだけです。外部ブラウザで Web ページを開きたくないので、Intent it =...startActivity(it);.

別のアクティビティで Web ページを開きたい場合は、レイアウトに Web ビューを含む新しいアクティビティを作成するだけです。ここでその方法の例を見つけることができます。

于 2013-03-05T01:30:28.600 に答える