我利用股票导航抽屉活动来托管一系列片段。当我从导航抽屉中更改为不同的片段时,我正在尝试实现单独的ActionBar按钮。
我遇到的问题是项目没有直接添加到操作栏,而是作为下拉选项添加到“三点”溢出菜单中。
操作栏上的按钮无法使用,我做错了什么?
JOBFRAGMENT
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_jobs, container, false);
return view;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Add your menu entries here
//inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.job_navigation, menu);
super.onCreateOptionsMenu(menu, inflater);
}
MENU XML
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_drawer"
android:showAsAction="ifRoom"
android:title="@string/action_search"/>
</menu>
答案 0 :(得分:2)
您应该将setHasOptionsMenu(true)移动到片段的onCreate()方法
答案 1 :(得分:0)
此帖有助于解决我的问题
Action buttons doesn't show up on Action Bar?
我将我的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" >
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_drawer"
android:title="@string/action_search"
app:showAsAction="always"/>