2012-02-20 6 views
1

メニュー項目を作成しようとしているので、ユーザーが電話でメニューボタンをクリックすると、このメニューが表示されます。私のコードはコンパイルされており、メニューを表示していますが、画像やテキストはメニューボタンで表示されません。Androidメニューの問題

私は画像をフォルダに持っています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; 
    } 
} 

mainmenu.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> 

のstrings.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> 

答えて

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を使用してOverride/Implement Methodsを選択すると、このようなスペルミスが発生しないようにすることができます。そのメニューでは、拡張したクラスのすべてのメソッドがEclipseに一覧表示されます。

+1

私は間違いを犯しました。 Doh – CsharpBeginner

+0

私たちがここにいるのは何の問題もない!そのキーボードショートカットを使用してみてください、それは入力を削減し、すべての方法を暗記するよう強制しません。 – roboguy12

+0

修正したコードを試しました。列挙子に正しいメニューボタンのアイコンが表示されませんでした。私のデバイスで今テストしようとしています。 – CsharpBeginner