2012-02-20 4 views
1

Im пытается создать пункт меню, поэтому, когда пользователь нажимает кнопку меню на своем телефоне, он отображает это меню. Мой код компилируется и отображает меню, но не изображение или текст, связанные с кнопкой меню.Проблема с меню 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()).

EDIT: Кроме того, если вы работаете в Eclipse, вы можете гарантировать, что ошибки орфографии, такие как это не произойдет, если вы используете ярлык Cmd + Opt + s и выберите Override/Implement Methods. В этом меню Eclipse отобразит все методы в расширенном классе.

+1

Я ошибся Спасибо за обнаружение ошибок ввода. Doh – CsharpBeginner

+0

Ха-ха, это не проблема, для чего мы здесь! Попробуйте использовать эту комбинацию клавиш, хотя она сокращает печатание и не заставляет вас запоминать каждый метод. – roboguy12

+0

Я пробовал исправить код. Он все еще не отображал правильную иконку кнопки меню в перечислителе. Теперь я буду тестировать свое устройство. – CsharpBeginner

Смежные вопросы