2017-06-11 88 views
-4

我打算在inflate菜單中輸入我的第一個Activity無法充氣菜單

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

的R.menu.main:

<item 
    android:id="@+id/action_serach" 
    android:title="Search" 
    android:orderInCategory="100" 
    android:icon="@drawable/ic_search" 
    app:showAsAction="ifRoom" /> 

它不工作,但它膨脹命名R.menu.menu_home的另一個XML文件。 的R.menu.menu_home:

<menu 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
<item 
android:id="@+id/action_star" 
android:title="Search" 
android:orderInCategory="100" 
android:icon="@drawable/ic_star_half" 
app:showAsAction="ifRoom" 
    /> 
</menu> 

但在我的第二Activity,它的工作原理,無論是R.menu.mainR.menu.menu_home。 爲什麼?

回答

0

我有,因爲我與所述活性的片段和onCreateOptionsMenu()方法是在該片段取代的FrameLayout解決這個problem.It的。

1

我認爲問題在於你必須重寫類方法,所以在之前添加@OverrideHere你可以獲得更多關於Override註釋的信息。

+0

它確實有@Override以前它不起作用:( – zhan

+0

如果你改變菜單的名稱,或者如果你創建一個新的xml菜單文件具有相同的內容? –

+0

當我更改名稱該菜單或創建一個新的XML文件具有相同的內容,它仍然膨脹的預覽XML文件。 – zhan

-2

使用此代碼。

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