当前位置: 首页 > 知识库问答 >
问题:

SherlockFragment onCreateOptionsMenu没有调用

逄征
2023-03-14

扩展SherlockFragment的类具有setHasOptionsMenu(true);在onCreate()方法中。即使这样,在运行应用程序时,它也不会调用onCreateOptionsMenu()方法。

我在SO中读过这些类似的问题(Q1,Q2),没有得到任何帮助。

那会是什么原因呢?

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setHasOptionsMenu(true);

}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    inflater.inflate(R.menu.record, menu);
    super.onCreateOptionsMenu(menu, inflater);
    Log.i(TAG, "* onCreateOptionsMenu");
}
@Override
public SherlockFragment getItem(int position) {
    return SuperAwesomeCardFragment.newInstance(position);
}

我正在做的是,我正在从下面的地方调用一些其他的SherlockFragments。

@Override
public SherlockFragment getItem(int position) {
    Log.i(TAG, "* getItem");

    switch (position) {
        case 0:
            return new InnerSherlockFragmentOne();
        case 1:
            return new InnerSherlockFragmentTwo();
        case 2:
            return new InnerSherlockFragmentThree();
        case 3:
            return new InnerSherlockFragmentFour();
        default:
            return null;
    }
}

不调用的是那些innersherlockfragments中的onCreateOptionsMenu(菜单菜单,Menuflater flumater)。

共有1个答案

贡正诚
2023-03-14

进口应为:

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;

而不是这些android操作系统!

还要尝试调用super方法,如下所示:

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

    Log.i(TAG, "* onCreateOptionsMenu");
}
 类似资料:
  • 问题内容: 您能帮忙检查一下为什么doFilter没有被调用吗 web.xml: 类签名: 调用http:// localhost:8080 / hello / world时 返回404 ,我在doFilter处设置了断点,看来doFilter没有被调用?(我尝试了tomcat 6.0.18、6.0.29,jdk1.6) 问题答案: 在以下情况下将不会调用该过滤器: 过滤器类在类路径中丢失和/或不

  • 我编写了一个类,该类重写class Object中的equals(Object)方法,以使用对象的实例值将类类型的对象与类类型的其他对象进行比较。 当我将对象的一个实例作为键放在HashMap中,然后使用一个新的但相同的对象作为键调用映射上的get(object),它返回null。 我尝试将一个新的,相同的对象传递给equals方法,它返回true,所以问题不在于我的比较代码。 从我通过调试收集的

  • 问题内容: 我在告诉Android 方向更改时不打电话时遇到了麻烦。我已添加到清单中,但仍在调用方向更改时添加。这是我的代码。 AndroidManifest.xml SearchMenuActivity.java 还有我的LogCat输出 有人知道我在做什么错吗?谢谢。 问题答案: 要尝试的几件事: 而不是 确保您没有在任何地方打电话。这将导致onConfigurationChange()无法触

  • 问题内容: 我正在尝试在Angular中实现d3指令,这很困难,因为在视觉上什么也没有发生,并且在控制台上没有抛出任何错误。 这是我的d3指令: 这是我的HTML: 起初我以为不是要附加,因为要检查看起来像的元素,但是现在我认为该指令根本没有在运行。我从一开始就将其嵌入其中,也没有出现。我缺少简单的东西吗? 编辑: 我尝试将顶行更改为 但这也不起作用。我什至不知道两个标题之间有什么区别… 问题答案

  • 我试图编写一个小迷宫运行程序,遇到了一些与绘图组件()相关的麻烦。我已经完成了调试,出于某种原因,我的绘图组件()从未被调用,即使是由我的计时器调用的重新绘制()。 这些是我的frame和jpanel init方法。 这是我的paintComponent,图像确实已缓冲并已存储。 这就是我的ActionExecuted,它是用我的计时器调用的,默认设置为5秒的间隔。 } 如果你感兴趣,这是我的完整

  • 我编写了一个代码来启动活动A到活动B,活动A和B都有片段实现。 场景:如果活动A经常启动包含碎片的活动B,那么大多数时候它都错过了碎片。ondetach...我检查了日志,通常它会给我下面的重写方法日志: null null 我在用 我有什么遗漏吗?有什么建议吗?