2

我正在我的应用程序中实现 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 设备上运行良好(第一次启动 Activity 时菜单会膨胀)它是否与这两个设备调用方法的顺序有关?

4

1 回答 1

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);
}

我希望这能解决你的问题!

于 2013-06-16T01:24:30.460 回答