2011-06-16 94 views
0

我試圖仿真器屏幕上顯示的菜單創建活動,通過我的AndroidViews.java文件中添加以下代碼幫我解決這個錯誤

AndroidViews.java

@Override 
public boolean onCreateOptionMenu(Menu menu) 
{ 
    super.onCreateOptionsMenu(menu); 

    menu.add(0,1, Menu.NONE,"M1"); 
    menu.add(0,2,Menu.NONE, "Button"); 
    menu.add(0,3,Menu.NONE, "CheckBox"); 
    return true; 

} 

我想覆蓋活動類的onCreateOptionMenu方法,但每當我寫入Override關鍵字的方法,它會產生一個錯誤,即 AndroidViewsActivity類型的onCreateOptionMenu(Menu)方法必須覆蓋或實現一個超類型方法

PLZ儘快

回答

1

您的方法名稱應爲onCreateOptionsMenu(請注意額外的s)。如果它仍然不起作用,您可能不會將該方法添加到Activity類中。

+0

Thanks.I JST忘記了這一點。 – Amit 2011-06-17 05:32:26

+0

但現在當我運行應用程序時,它將不會在仿真器屏幕上打印菜單.... – Amit 2011-06-17 05:33:44

5

幫我出這應該是

onCreateOptionsMenu 
      ^

如果您正在使用Eclipse,則可以選擇覆蓋哪些方法,他們會自動添加到您的類。見here

+1

你得到了鷹的眼睛 – 2011-06-16 11:27:03

-1

確保您使用的是支持@Override的Java編譯器的一個版本。我建議使用1.6編譯器,因爲行爲從1.5改變了一點,我認爲你會發現大多數例子,特別是從AOSP,都符合1.6。

0

試試下面的代碼希望它爲你的作品

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.optionsmenu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item){ 

    switch (item.getItemId()){ 

     case R.id.info: 
       startActivity(new Intent(this, AboutApp.class)); 
       return true; 

     case R.id.exit: 
       finish(); 
       return true; 
    } 
    return false; 
} 

,這是在res /菜單optionsmenu.xml/

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:id="@+id/info" 
      android:title="Info" 
      android:icon="@drawable/info_menubtn" /> 
     <item android:id="@+id/exit" 
      android:title="Exit" /> 
    </menu>