所以,这就是我的res/menu/main.xml
文件的样子:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.myapplicationn.app.MainActivity" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
app:showAsAction="ifRoom" />
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
我所做的只是替换了action_settings
并直接从教程的示例代码中复制了action_search
。这里有一个微妙(也许不那么微妙)的区别:教程的文件应该是res/menu/main_activity_actions.xml
,但其AS等效文件似乎是默认文件res/menu/main.xml
,所以我选择了后者。此外,教程示例仅具有第一个属性(xmlns:android="http://schemas.android.com/apk/res/android"
),但AS创建的文件具有这些附加属性,所以我保持原样未修改它们。然后,我使用以下内容修改了onCreateOptionsMenu方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
再次强调,原始代码使用的是R.menu.main_activity_actions
,所以我将其更改为R.menu.main
。项目编译顺利,在几秒钟后我的手机上出现了MainActivity,但是action_search
仍然隐藏在操作溢出(这不是它的称呼吗?)按钮下面。我做错了什么吗?任何帮助将不胜感激。英语不是我的母语,我的写作风格有点糟糕,对此感到抱歉。