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;
    }
}

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>

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

于 2012-02-20T19:12:45.573 に答える