试图建立在Android菜单项链接 [英] Trying to create menu item links on android

查看:100
本文介绍了试图建立在Android菜单项链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不能让它链接到网页。 重置和关于应该做的。使用web视图。需要链接到网页视图中打开。

Can't get it to link to webpages. "Reset" and "About" should do. Using webview. Need for the links to open within the webview.

这里的MainActivity.java:

here's the 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文件

here's the activity main.xml file

<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档案

here's the strings.xml file

<?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>   

推荐答案

您混淆android.R和R

You are confusing android.R and R

您的项目被称为 @ + ID / menu_reset ,这是在 com.test.apppackage.R.java 文件。

Your items are called @+id/menu_reset, which is created in your com.test.apppackage.R.java file.

但你以后比较 android.R.id.menu_reset ,这将是android.R.id,但并不存在。

But you are later comparing to android.R.id.menu_reset, which would be in android.R.id, but doesn't exist.

您需要在这种情况下,仅使用您的R.java。使用 com.test.apppackage.R.id.menu_reset

You need to use only your R.java in this case. Use com.test.apppackage.R.id.menu_reset.

在某些情况下,你可以使用Android的价值,但无论如何混合将无法工作。

In some cases, you can use android values, but anyway mixing won't work.

显然,android.R.menu_reset甚至不存在。

apparently, android.R.menu_reset doesn't even exist

研究实际上是R.id,当然

R is actually R.id, of course

这篇关于试图建立在Android菜单项链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆