jam*_*mes 3 android fragment android-menu android-fragments android-fragmentactivity
我正在尝试将ActionBar按钮添加到FragmentActivity中,我无法弄清楚我做错了什么.在运行应用程序时,我看到的是ActionBar上的默认菜单按钮而不是我的按钮.
FragmentActivity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.animalsmenu,menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/dogs"
android:title="Dogs"
android:orderInCategory="1"
app:showAsAction="always">
</item>
Run Code Online (Sandbox Code Playgroud)
mah*_*que 12
使您的MainActivity扩展ActionBarActivity,而不是FragmentActivity.
ActionBarActivity本身延伸FragmentActivity所以你应该没事.
的FragmentActivity类扩展(从导出)的Activity类.Activity onCreateOptionsMenu(菜单菜单)方法的文档说明以下内容......
默认实现使用标准系统菜单项填充菜单.它们放在CATEGORY_SYSTEM组中,以便使用应用程序定义的菜单项正确排序.派生类应始终调用基本实现.
换句话说,将代码更改为......
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.animalsmenu, menu);
super.onCreateOptionsMenu(menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
这会将您的菜单项膨胀到Menu传入的重写方法中,然后将其传递给方法的parent(super)版本.
| 归档时间: |
|
| 查看次数: |
10674 次 |
| 最近记录: |