像这样尝试,但把它放在你的主 Activity 类中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.detail_view_menu, menu);
return true;
}
或者,如果您希望 Fragment 向 ActionBar 添加项目,则必须使用稍微不同的构造:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.detail_view_menu, menu);
}
您必须添加一个附加参数(MenuInflater)。此外,在 Fragment 中,onCreateOptionsMenu 不返回布尔值。
现在您有了充气机,您需要调用setHasOptionsMenu(true)
Fragment 的onCreate()
方法。否则您的项目将不会显示在 ActionBar 中。
您的片段代码,处理菜单通货膨胀,现在应该是这样的:
public class DetailFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.detail_view_menu, menu);
}
}