我正在我的应用程序中实现ABS,并且我有一个FragmentPagerAdapter,允许用户滑动/选择不同的标签。
这些标签中的每一个都包含不同的片段。基本上,我的问题是在我正在测试的Android 2.3.6设备上,当第一次调用活动时,第一个标签片段不会使它应该的菜单膨胀。但是,一旦我滑动到另一个标签并返回,它就会出现。
以下是片段中的代码:
public void onPrepareOptionsMenu(Menu menu) {
menu.clear();
MenuInflater inflater = getSherlockActivity().getSupportMenuInflater();
inflater.inflate(R.menu.menu_ongoing_fragment, menu);
}
同时,它在Android 4.2设备上完全正常工作(第一次启动活动时菜单会膨胀)这是否与这两个设备调用方法的顺序有关?
答案 0 :(得分:0)
由于这个原因,它无法正常工作:
menu.clear();
删除它。
您的片段上应该有以下代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
};
而不是“onPrepareOptionsMenu()”使用此:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_ongoing_fragment, menu);
super.onCreateOptionsMenu(menu, inflater);
}
我希望这能解决你的问题!