问题标签 [android-optionsmenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
772 浏览

java - 选项菜单图标未显示在平板电脑上

我试图让我的选项的菜单图标通常出现在平板电脑屏幕的角落。它不在那里!我目前正在使用 Android 4.2.2 进行开发。这是我正在使用的当前 Java 代码:

XML 代码在这里:

我假设我的 Java 代码有问题。我在这里做错了什么?任何帮助,将不胜感激!

0 投票
1 回答
199 浏览

android - 如何覆盖 WL.OptionsMenu.addItem?

致力于 Android 平台的 Worklight 项目。想知道有没有办法覆盖 WL.OptionsMenu.addItem?

这不是隐藏设置选项菜单。从 Android SDK 11 开始,选项菜单将替换为操作栏。在 WebView 的全屏中,无法显示操作栏。在这个移动应用程序中,实现了滑动菜单。每次调用 WL.OptionsMenu.addItem 都会在滑动菜单中添加一个菜单项。

谢谢

0 投票
3 回答
2620 浏览

android - 没有 xml 的膨胀选项菜单

我正在尝试将项目添加到Activity模块的选项菜单中。但是如果没有选项菜单,我想扩充我自己的菜单。如果我xml在模块中声明,则表示找不到该资源。那么也许有一些方法可以在没有布局文件的情况下膨胀菜单?

我是说getMenuInflater().inflate(id, menu);

编辑

没有答案是我要求的,所以我将尝试指定我的问题。如果没有onOptionsMenuCreated(我通过 进行检查reflections),我需要将我的自定义菜单添加到Activityfrom 模块中。我该怎么做?

0 投票
2 回答
2082 浏览

android - 将操作栏选项菜单向右对齐

默认的应用程序图标和选项菜单项出现在操作栏的左侧。我希望选项菜单出现在菜单栏的右侧。

我使用自定义视图在右侧显示操作栏上的其他按钮,但默认选项菜单项仍显示在左侧。

我在实现导航抽屉时基本上面临这个问题。对于我的应用程序,用户应该能够点击放置在操作栏右端的菜单项,该菜单项将拉出导航抽屉。当前,默认实现在单击选项菜单时调用导航抽屉,该选项菜单默认显示在操作栏的左侧。

谢谢!

0 投票
3 回答
3589 浏览

android - 方向更改时未调用片段 onCreateOptionsMenu

我有一个在 viewpager 中有多个片段的活动。当我打开选项菜单时,它会将特定片段中的菜单项添加到选项菜单。我正在使用android 4.2并且由于将在我想要的方向更改时创建哪些活动而android:configChanges="orientation"没有添加。screensize

当我打开选项菜单时,会显示所有菜单,包括片段菜单项。但是,如果我在选项菜单显示时旋转设备,则仅显示活动的选项菜单项。onCreateOptionsMenu我检查了这是因为当我改变方向时没有调用片段。如何在更改方向时将片段选项菜单项添加到已显示的选项菜单。

0 投票
2 回答
303 浏览

android - 轻触 TabActivity 的选项卡即可打开 OptionsMenu

我有一个 tabActivity,我在运行时添加选项卡。所以我认为这是通常的代码:

现在问题是,我已经定义了一个选项菜单,我想在用户单击“更多”选项卡时弹出它。我不知道该怎么做。我尝试不在该选项卡上设置内容,而只是使用OpenOptionsMenu()弹出它,但它似乎不起作用。

任何线索如何实现这一目标?PS:这是用 Xamarin 编写的 C# 代码。它可能看起来不像原生 java-android 代码,但几乎相同。

0 投票
1 回答
1136 浏览

android - 选项菜单锁定在 Galaxy s4 上

我的应用程序使用旧式选项菜单。目前我们的目标是 API 9。在 Galaxy S4 上,我注意到以下行为:

  1. 用户点击菜单按钮。菜单按预期显示。
  2. 用户点击“更多”以访问溢出部分。溢出部分按预期显示。
  3. 用户点击后退按钮返回原始选项菜单。原始菜单按预期显示。

此时,点击选项菜单中的任何元素(包括“更多”)选项似乎都没有效果。 然而,系统实际上正在缓存这些水龙头。如果用户点击菜单五次(没有可见效果)然后点击后退按钮隐藏菜单,然后点击菜单按钮再次显示菜单,所有缓存的点击都会立即发生。每次用户点击该菜单项时,都会调用一次 onOptionsMenuItemSelected()。

这只发生在 S4(可能还有其他三星设备)上。值得注意的是,我没有看到使用 Galaxy Nexus 运行股票 4.2.2 的这种行为。

这是三星定制 Android 的错误,还是更有可能我在我的应用程序中做错了什么,而股票 Android 代码只是更宽容?

0 投票
1 回答
2667 浏览

android - 未调用 onPrepareOptionsMenu

我无法onPrepareOptionsMenu()正常工作。无论我尝试什么,我都无法调用它。

我的应用程序的架构如下:我的主 Activity 包含一个 Fragment,其中包含一个 ViewPager,而 ViewPager 又具有四个子 Fragment 实例。目前,我(成功地)使用 填充 Activity 中的初始选项菜单onCreateOptionsMenu(),但我希望添加一些与每个活动子片段相对应的额外选项。

在我的孩子 Fragments 中,我确保setHasOptionsMenu(true)正在调用onCreate()并且getSherlockActivity().supportInvalidateOptionsMenu()调用 in onActivityCreated()。在主 Activity 中,onCreateOptionsMenu()在子 Fragment 实例化后调用一次,无论它们是否包含supportInvalidateOptionsMenu()。每当寻呼机中的片段被替换时,它就会被再次调用。

我尝试将onPrepareOptionsMenu()代码向上移动到父片段和主 Activity - 无济于事,这表明问题与我使用嵌套片段无关。我还尝试将onCreateOptionsMenu()方法从主 Activity 向下移动到两个片段,在那里它没有被调用。

如果有人知道这里发生了什么,我将非常感激,因为我已经坚持了两天了。

更新 - 我已经弄清楚了现在的问题,只是我仍然不确定如何解决它。我正在 4.2 上进行测试,它似乎在 ActivityonCreateOptionsMenu()之后被调用onResume()- 如在 JB 4.2 onResume 之后调用的 onCreateOptionsMenu中所见。我认为这意味着片段无法调用onPrepareOptionsMenu(),因为菜单在它们被实例化之前甚至不存在。那么我该如何解决呢?

0 投票
0 回答
349 浏览

android - Android:创建选项菜单时调用目标异常

我正在实施OptionsMenu,项目是从项目菜单文件夹中的 xml 文件中读取的,即res/menu/menu.xml. 在覆盖OnCreateOptionsMenu方法和 之后onOptionsItemSelected,我收到了Invocation Target Exception. 以下是方法:

ItemSelected 方法

这是menu.xml

日志猫

异常详情

我没有得到我所缺少的。谢谢

0 投票
1 回答
4160 浏览

android - 使用 invalidateOptionsMenu() 的动态选项菜单

我目前正在开发一款游戏,在实现 Google Play 游戏服务后,我发现自己需要一个动态选项菜单。我的整个游戏由 strings.xml 和 6 个活动组成(不包括导入的库项目)。我提到这一点只是因为这意味着我正在构建选项菜单而不使用 layout.xml。

我想要完成的是根据用户登录状态更改我的登录和注销按钮的可见状态。目前,当用户登录时,菜单会正确更新,并且登录按钮会被注销。但是,当单击“退出”按钮时,虽然它确实将用户正确退出,但不会触发菜单更新。尝试通过按钮再次注销会导致应用程序崩溃,因为我没有捕获异常,我可以稍后处理。如果您更改活动,菜单会正确更新。

到目前为止,我所得到的看起来与我在这里发现的非常相似

这是我的扩展类,所有其他类都扩展它以使用整个游戏中常见的方法,我已经剥离了与菜单无关的项目。

此外,我花了一些时间尝试使用 onSignOutComplete() 但一定是做错了。任何帮助将不胜感激。使用布尔值来跟踪登录状态也根本没有改变行为。当相反的功能正常工作时,我无法弄清楚为什么“退出”按钮在用于退出并使“登录”按钮可见后不会隐藏。