android - 屏幕旋转时 ActionItem 丢失

标签 android fragment actionbarsherlock

我使用一个 sherlockfragmentactivity,它有一个 ViewPager、两个 Fragment 和一个显示两个选项卡的 ActionBar。我从 fragment 中填充 Action 项,但我必须调用该方法

    setHasOptionsMenu(true);

为了比 fragment 显示Actionbar MenuItem。 但是当屏幕方向改变时,MenuItems 不显示。

这是我在第一个 fragment 中创建选项菜单的代码:

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    menu.add(R.string.action_refresh).setIcon(R.drawable.ic_menu_refresh)
            .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {

                public boolean onMenuItemClick(MenuItem item) {
                    refresh();
                    return false;
                }
            }).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    menu.add(R.string.action_add_a_file).setIcon(R.drawable.ic_menu_upload)
            .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    menu.add(R.string.action_settings).setIcon(android.R.drawable.ic_menu_preferences)
            .setIntent(new Intent(getSherlockActivity(), SettingsActivity.class))
            .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

}

有没有办法从 SherlockFragment 将项目正确添加到操作栏中,以及如何在屏幕方向更改后将这些项目保留在 ActionBar 中?

最佳答案

在 list 文件中的 FragmentActivity 中添加以下行 android:configChanges="方向"

方向由系统本身自动处理。但我不知道天气是否是一种有效的方法。

关于android - 屏幕旋转时 ActionItem 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763294/

相关文章:

android - Android平台交叉编译LKM模块

java - Fragment 中的 ListView 不显示任何内容

android - 如何在 Android 中的同一个选项卡下打开多个 View ?

java - 将监听器传递给 Android 中的自定义 fragment

android - 删除 actionbarsherlock 中的项目边框

android - @ViewById 不起作用

android - Action Sherlock 栏和抽屉布局适用于 4.0 但不适用于 2.3

android - 如何检查用户是否已在 React Native Android 中授予相机权限?

java - Android 上的批量/通配 rune 件删除

java - 尝试从 Android Studio 中的 res->raw 文件夹获取视频 uri 时出现文件未找到异常