0

我试图创建一个菜单项,因此当用户单击手机上的菜单按钮时,它会显示此菜单。我的代码正在编译并显示菜单,但不显示与菜单按钮相关的图像或文本。

我在 res/drawable/inage1icon.png 文件夹中有图像 知道问题是什么吗?

下面是代码

package com.webview;

import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.MenuInflater;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.view.Menu;
import android.view.MenuInflater;


public class WebViewActivity extends Activity { 

WebView mWebView; 

public boolean onCreateoptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu)
    return true;
    }
}

主菜单.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/buttoneone" 
      android:icon="@drawable/image1icon"
      android:title="@string/showimage1" />
</menu>

字符串.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, WebViewActivity!</string>
<string name="app_name">WebView</string>
<string name="showimage1">IMAGE ONE</string>

<color name="background">#000000</color>

</resources>
4

1 回答 1

3

这是复制和粘贴错误,还是您的代码在应用程序中的方式?

您拼错了方法名称。它应该是:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu)
    return true;
}

而你有public boolean onCreateoptionsMenu(Menu menu). 此外,返回超类的方法是个好主意;而不是说return true,说return(super.onCreateOptionsMenu())

编辑:另外,如果您在 Eclipse 中进行开发,您可以确保在使用快捷方式 Cmd+Opt+s 和 select 时不会发生此类拼写错误Override/Implement Methods。在该菜单中,Eclipse 将列出您扩展的类中的所有方法。

于 2012-02-20T19:12:45.573 回答