问题标签 [android-menu]
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.
java - android菜单膨胀错误之前的条件检查
是否有可能在条件为真时膨胀 android 菜单,我希望有可能,如果是这样,这是我的错误代码,我在条件检查中的错误是什么
以及在条件检查失败的情况下必须将条件检查代码放置在何处以阻止菜单膨胀
在哪一行我做条件检查我可以在条件失败时阻止菜单膨胀..
android - Android:选项菜单外观和图标未显示
我在使用 android 选项菜单时遇到了一些问题。
这是我的代码:
在 res 文件夹中,我使用以下代码创建了一个包含 menu.xml 文件的菜单文件夹:
这是我的 SimpleOptionMenuActivity.java 文件:
1)单击模拟器的菜单按钮时,菜单会像 ListView 一样显示,即一个在另一个之上,但我希望选项一个并排显示,每行 3 个项目,即如果有四个项目,那么将有两个行(这很常见,我不知道如何正确解释)。
2) 图像未显示。我检查了 R.java 文件,图标存在于可绘制的内部类中,但它仍然没有显示在菜单中。
请帮我解决这两个问题。
android - 如何在不干扰子选项卡的情况下使用 TabActivity 菜单
这个主题可能看起来与其他主题相似,但我还没有找到任何可用的答案。
这就是我想要的:我有一个TabActivity
带有菜单的选项卡,其中包含没有任何菜单的选项卡。当我按下菜单按钮时,我希望显示唯一的现有菜单。如果我只给菜单充气,这很好用。但是,如果我想更改菜单的内容(更改onPrepareOptionsMenu(menu)
方法中项目的可见性)甚至按下菜单的项目,则没有任何效果。
对于onPrepareOptionsMenu(menu)
,问题似乎来自menu.findItem(...)
返回空对象的方法,我有一个NullPointerException
!在onOptionsItemSelected(item)
中,不会识别任何项目 ID。
我在调试器中注意到菜单上下文是当前选项卡的活动,因此我将菜单移到了该活动中,但没有取得更多成功。
最后一件事,我在应用程序的早期版本中使用相同的菜单和非常相似的代码,使用单个活动(没有选项卡),我没有遇到任何问题。当我转移到 TabActivity 设计时,它首先工作正常(也许菜单的上下文是我的TabActivity
而不是Activity
选项卡的),但是在对选项卡的活动进行微小更改后它不再工作了(与任何菜单)。
如果您认为使用ActionBar
(和支持包)可以解决这个问题,我已经计划稍后再使用它,但我想先了解并解决这个问题。
这是代码:
这是菜单的XML文件,没什么特别的
编辑:我在onPrepareOptionsMenu(menu)
避免 NullPointerException 中添加了以下内容。它不能解决真正的问题,但我现在可以准确地看到当我点击一个MenuItem
当我单击第一项getItemId()
时,例如返回2131165207,第二项返回2131165208(我已经检查过,它们是Views
第二个选项卡的 id !!),但是它应该返回的值以输入开关/大小写分别是2131165215和2131165216,所以正如我之前所说,我的项目 ID 有问题。Activity
我使用第一个选项卡中的菜单进行了此测试,因为菜单mContext
的值始终是当前活动的实例。但是即使上下文和包含菜单的活动相同,它仍然不起作用。
android - 从上下文操作栏中访问 ListView 项的文本
我需要通过长按选择访问 ListView 项目中的文本。对于旧的 Android 版本,我已经使用下面的代码使用上下文菜单成功地做到了这一点。
但是,对于较新的 Android 版本,我想使用上下文操作栏执行此操作,但在选择栏中的项目后无法弄清楚如何提取选定的文本。下面的代码不起作用。
上下文操作栏显示正常,但是当从中选择一个项目时,我在 AdapterContextMenuInfo 行收到 NullPointerException,因为这显然是为上下文菜单而不是操作栏制作的。也许对于动作栏有一些等价物吗?或者在这种情况下如何获取 ListView 项目文本?谢谢。
android - 将菜单按钮放置在 ICS 上的任务切换器旁边,而不是作为操作栏中的溢出
截图如下。如您所见,我的菜单按钮显示在 actionBar 的溢出区域中。它在纵向上效果不佳,因为它添加了第二行(显然不能放在我的标签旁边);在横向上看起来不错,但我将更改选项卡在横向上的呈现方式,因此最终会遇到与纵向相同的问题。所以,我需要完成的是让菜单按钮进入屏幕底部的黑色区域,我的理解说这实际上是遗留支持。正如我在其他一些应用程序中看到的那样,是否没有方法可以声明将我的菜单按钮向下发送到任务切换器的右侧?是在 AndroidManifest 中更改我的 targetSDKversion 的解决方案吗?
android - 无法更改 ActionBar 上的图标
我的应用程序在启动时调用 Web 服务以查看用户是否已登录。如果他们已登录,则需要显示注销图标。如果他们没有登录,它需要显示一个登录图标。如果他们的应用程序版本不支持登录,则需要继续不显示图标。
如何让图标在 Web 服务返回时显示?我无法调用 invalidateOptionsMenu() 因为我使用的是 2.3。此外,如果我尝试将它添加到 onPrepareOptionsMenu() 中,当您按下菜单按钮而不是 ActionBar 时,它会显示在菜单上。
android - Android根据DB字段动态添加菜单项
当用户在ListView
. 基本上,我正在检查所选项目是否在 DB 中有一个字段设置为 true。如果是这样,我会添加额外的菜单项。
我试图在数据库中查询所选项目onItemCheckedStateChanged()
并使菜单无效。如果需要,这将调用onPrepareActionMode()
我可以显示额外选项的地方。
这不起作用,因为在 DB 列设置为 true 的情况下已选择的选项不会被记住,当特殊 DB 列设置为 false 的项目被选中onItemCheckedStateChanged()
并且onPrepareActionMode()
被调用时删除了额外的菜单项。
我怎样才能更好地解决这个问题?本质上,我需要一种方法来记住所有ListView
在 DB 中将额外字段设置为 true 的选定项目,以便我可以显示额外的菜单项 - 反之亦然,当所有选定ListView
项目都没有该 DB 字段时删除该项目。
android - openOptionsMenu 功能在 ICS 中不起作用?
我正在使用操作栏兼容性库。我试图从具有 openOptionsMenu() 功能的按钮打开选项菜单,但它什么也不做。
按手机上的菜单键时,菜单照常显示。这里有什么问题?
android - 每个页面都有不同菜单的 ViewPagerIndicator?
我正在使用 ViewPagerIndicator 在单个活动中显示不同的页面。是否可以通过按每个不同页面上的菜单按钮来显示不同的菜单?例如,第 1 页将显示“添加”和“删除”菜单项,而第 2 页将显示“编辑”和“设置”?这些都是愚蠢的例子,但菜单似乎是在实例化活动时创建的,所以当我点击菜单按钮时,菜单已经创建,所以无论当前显示哪个页面,我都会得到相同的菜单项。在 ViewPagerIndicator 中更改页面时是否可以触发 onCreateOptionsMenu()?
android - 安卓菜单不显示
我试图获得一个自定义菜单,以便在我的手机上单击菜单按钮时显示。它根本没有显示。
我在此文件夹 /res/drawable 中有一个名为 register.png 的注册图标。我的 my_menu.xml 位于名为 /res/menu 的文件夹中。我的文件夹布局错误还是下面的代码有问题。
我将 menu.xml 重命名为 my_menu.xml 我更改了代码,现在我收到这些错误:
[2012-04-07 07:50:43 - HelloWebView] W/ResourceType(1560):错误的 XML 块:找不到根元素节点 [2012-04-07 07:50:43 - HelloWebView] C:\Users\josh \workspace\HelloWebView\res\menu\my_menu.xml:4:错误:在包 'android' 中找不到属性 'showAsAction' 的资源标识符
my_menu.xml
主应用