标签: oncreateoptionsmenu

片段中的onCreateOptionsMenu

我放在setHasOptionsMenu(true)里面onCreateView,但我仍然无法调用onCreateOptionsMenu内部碎片.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
                         Bundle savedInstanceState) {   
   setHasOptionsMenu(true);             
   return inflater.inflate(R.layout.facesheet, container, false);
}
Run Code Online (Sandbox Code Playgroud)

以下是我的onCreateOptionsMenu代码.

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    getSupportMenuInflater().inflate(R.menu.layout, menu);
    return (super.onCreateOptionsMenu(menu));
}
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息:

该方法onCreateOptionsMenu(Menu)类型片段的必须重写或实现的超类型方法.

android android-fragments layout-inflater oncreateoptionsmenu

166
推荐指数
4
解决办法
11万
查看次数

永远不会调用onCreateOptionsMenu

我在Android中使用选项菜单时遇到了一些麻烦.我以前构建应用程序,它们都运行良好,但现在菜单没有弹出.

代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.activity_video, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

甚至从不调用整个方法(通过设置断点来检查).活动非常简单,只有一个VideoView,OnTouchListener有一套.

我在三星Galaxy 10.1,API等级15,minSDK 15上使用Android 4.0.4.我错过了什么?

android oncreateoptionsmenu

53
推荐指数
5
解决办法
5万
查看次数

45
推荐指数
1
解决办法
1万
查看次数

在Android Studio中实现选项菜单

如何在我的Android应用程序中实现选项菜单?我尝试了Android Developer的代码,但是我收到了错误.如下:必须声明元素菜单.这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
    android:icon="@drawable/ic_new_game"
    android:title="@string/new_game"
    android:showAsAction="ifRoom"/>
<item android:id="@+id/help"
    android:icon="@drawable/ic_help"
    android:title="@string/help" />
</menu>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lucavanraalte.test" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >

    <activity android:name=".MainActivity" android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
</application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android android-manifest android-layout oncreateoptionsmenu android-studio

10
推荐指数
1
解决办法
5万
查看次数

java.lang.illegalstateexception:已经在此layoutinflater上设置了一个工厂

我试图在我的Android应用程序中更改选项菜单的背景颜色.我正在使用ActionBarSherlock库.我试过这段代码来改变选项菜单的背景颜色

/sf/answers/593275021/

但我最终得到一个例外"java.lang.illegalstateexception:已经在此layoutinflater上设置了一个工厂"

LayoutInflater.setFactory();

我不知道这段代码有什么问题.任何人都可以帮我解决这个问题吗?

android background-color options-menu android-optionsmenu oncreateoptionsmenu

9
推荐指数
3
解决办法
7461
查看次数

onCreate,onCreateOptionsMenu,onResume,执行的顺序是什么?

如果之前被问到这个问题,我很抱歉...无论如何,标题是什么,onCreateOptionsMenu何时执行?在onResume之前或之后?

在我的应用程序中,当活动首次运行/打开时,订单将是onCreate - > onResume - > onCreateOptionsMenu

但是如果我改变设备的方向,它会自动调用onDestroy,因此活动将被重新创建,在这种情况下,订单将是onCreate - > onCreateOptionsMenu - > onResume

我现在很困惑......任何人都可以对此作出解释吗?

android onresume oncreate android-activity oncreateoptionsmenu

8
推荐指数
1
解决办法
8556
查看次数

7
推荐指数
2
解决办法
5867
查看次数

为什么 onCreateOptionsMenu 运行多次?

出于某种原因, myonCreateOptionsMenuonPrepareOptionsMenu运行两次(在两种方法开始时使用日志输入进行检查)。这发生在我拥有的多个片段中,包括一些非常基本的片段(只是膨胀菜单,没有别的)。

这是onCreateOptionsMenu有此问题的s之一:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.actionbuttons_add_removeall, menu);
    optionsMenu = menu;
}
Run Code Online (Sandbox Code Playgroud)

什么会导致这些方法被多次调用(主要是两次)?


更新

我发现这是由RecyclerView我正在使用的(以某种方式)引起的。有这个问题的所有视图都使用 RV,我之前提到的视图没有这个问题,确实没有。有了这些新信息,RV 的哪一部分可能会引起这个问题?

更新2

我发现我打电话.invalidateOptionsMenu()getItemCount()的方法Adapter。我认为这会调用onPrepareOptionsMenu(),但阅读文档,它似乎调用onCreateOptionsMenu(). 我可能得到onCreate..()onPrepare..()逆转这里,要去检查出来了。

更新3

我刚刚意识到我的RecyclerViewAdapter,getItemCount()方法中的选项菜单无效,该方法显然在首次创建片段时运行。

@Override
public int getItemCount() {
    int tableSize = getTableSizeMethod();

    if (tableSize < 1) {
        if (!AppManagerFragment.hideDeleteAllButton) {
            AppManagerFragment.hideDeleteAllButton = true;
            ((Activity) context).invalidateOptionsMenu();
            return 0;
        } …
Run Code Online (Sandbox Code Playgroud)

java android android-optionsmenu oncreateoptionsmenu

7
推荐指数
2
解决办法
3635
查看次数

在onPostCreate中调用onCreateOptionsMenu

我想动态更改onCreateOptionsMenu项目.我已经纠正了我的问题,唯一的解决办法是打电话onCreateOptionsMenu,onPostCreate但我不知道怎么称呼它.我已经尝试过我的解决方案无效.它甚至可能......?

android oncreateoptionsmenu

6
推荐指数
2
解决办法
8287
查看次数

Android:onCreateOptionsMenu 调用太晚了

在我的活动中,我创建了MenuItem一个在ActionBar加载某些数据时执行顺时针动画。当loadData()被调用时MenuItem开始顺时针动画。

这很好用,但是当我第一次调用loadData()内部onCreate回调时,menuItem由于onCreateOptionsMenu()还没有被调用,menuItem它仍然不可用,所以我的引用仍然为空,动画无法启动。

我该如何处理这种情况?

android android-actionbar oncreateoptionsmenu

6
推荐指数
0
解决办法
463
查看次数