0

我的 Android 应用程序有一个 SherlockFragmentActivity,其中包含一个 ViewPager 和三个 SherlockListFragment。知道我想在 ActionBar 中显示不同的 ActionItem。例如,在所有三个 Fragment 上都有一个 SettingsItem,在每个 Fragment 上都有一个独特的 ActionItem,例如不同的排序类型。现在我在我的片段中使用这段代码:

@Override
public void onCreateOptionsMenu( Menu menu, MenuInflater inflater )
{
    super.onCreateOptionsMenu( menu, inflater );

    inflater.inflate( R.menu.sort_menu, menu );
}

我的活动中的这段代码:

@Override
public boolean onCreateOptionsMenu( Menu menu )
{       
    menu.add( Menu.NONE, PREFERENCES_ID, Menu.NONE, getString( R.string.menu_preferences ) )
        .setIcon( R.drawable.ic_menu_settings_dark )
        .setShowAsAction( MenuItem.SHOW_AS_ACTION_ALWAYS );

    return super.onCreateOptionsMenu( menu );
}

问题是,如果我启动我的应用程序,第一个选项卡上不会出现 ActionItems。如果我滑动到另一个选项卡,然后再次返回 ActionItems 出现。有时我只看到一个 ActionItem,例如由父 Activity 创建的设置项。知道任何人都有一个很好的解决方案,可以在每个选项卡上显示一些 ActionItems,并为每个选项卡显示一些独特的 ActionItems。我不想将代码复制到每个选项卡。

编辑 选项卡的位置并不重要。在第一个应用程序启动时,我在实际选项卡上看不到 ActionItems。

4

0 回答 0