當我使用片段時,我沒有得到ActionBar中的菜單。儘管執行了onCreateOptionsMenu()方法,但我不知道代碼的問題在哪裏。下面是我使用的代碼:如何在片段中添加菜單?
public class LesAvis extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
View rootView = inflater.inflate(R.layout.avis, container,false);
ListView listeAvis = (ListView) rootView.findViewById(R.id.listView);
return rootView;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.my_menu, menu);
super.onCreateOptionsMenu(menu,inflater);
}
}
然而,當我使用這部分代碼爲實現onCreateOptionsMenu()方法中,我得到了我想要的(在我的動作條菜單):
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add("Compte")
.setIcon(R.drawable.ic_compte)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Compte")
.setIcon(R.drawable.ic_historique)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Compte")
.setIcon(R.drawable.ic_param)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
它不工作了! – HiddenDroid
你是否在片段(不是活動)中的onCreate()中調用setHasOptionsMenu(true)?片段也有onCreate()方法,但也許你知道。嘗試將onCreatOptionsMenu()添加到Activity中,並在Fragments中使用onPrepareOptionsMenu()。 – Jerry