-1

ウェブページへのリンクを取得できません。「リセット」と「について」で十分です。ウェブビューを使用しています。リンクを webview 内で開く必要があります。

MainActivity.java は次のとおりです。

package com.test.apppackage;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class MainActivity extends Activity {
private WebView mWebview ;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    mWebview  = new WebView(this);

    mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript

    final Activity activity = this;

    mWebview.setWebViewClient(new WebViewClient() {
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
        }
    });

    mWebview .loadUrl("https://www.google.com");
    setContentView(mWebview );



}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch(id) {
        case android.R.id.menu_reset:
            mWebview .loadUrl("https://www.bbc.co.uk");
            setContentView(mWebview );
            break;

    }
    return super.onOptionsItemSelected(item);
}

public class MyWebViewClient extends WebViewClient {

    @Override
       public boolean shouldOverrideUrlLoading(WebView view, String url) {
           view.loadUrl(url);
           return true;
       }

   }
}

これがアクティビティの main.xml ファイルです

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/menu_reset"
    android:title="@string/menu_reset"
    android:showAsAction="ifRoom"
    />
  <item
    android:id="@+id/menu_about"
    android:title="@string/menu_about"
    android:showAsAction="never"
    /></menu>

これがstrings.xmlファイルです

<?xml version="1.0" encoding="utf-8"?>

<string name="app_name">App name</string>
<string name="menu_reset">Reset</string>
<string name="menu_about">About app</string>   

4

1 に答える 1

0

あなたはandroid.RとRを混同しています

アイテムは と呼ばれ、ファイル@+id/menu_resetに作成されますcom.test.apppackage.R.java

しかし、後で android.R.id にある と比較してandroid.R.id.menu_resetいますが、存在しません。

この場合、R.java のみを使用する必要があります。を使用しcom.test.apppackage.R.id.menu_resetます。

場合によっては、Android の値を使用できますが、いずれにせよミキシングは機能しません。

編集

どうやら、 android.R.menu_reset も存在しません

もっと編集する

もちろん、R は実際には R.id です。

于 2013-01-02T16:57:41.923 に答える