如何以编程方式更改选项菜单中的项目?
当用户单击“菜单”按钮时,我会显示一些菜单项。其中之一是“注销”按钮。我希望能够根据我正在跟踪的布尔值更改“登录”和“注销”之间的文本。如何以编程方式更改菜单中的文本?
When the user clicks on the Menu button I present a few menu items. One of them is a Sign Out button. I want to be able to change the text between "Sign In" and "Sign Out" depending on a boolean value I am tracking. How can I programmatically change the text in the menu?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您想要重写 Activity 中的 onPrepareOptionsMenu 函数。有一个菜单参数传递,你可以简单地找到你想要显示/隐藏的菜单项(或更改图像和文本)并返回true。
onPrepareOptionsMenu
You want to override the onPrepareOptionsMenu function in the Activity. There is a menu parameter passed, you can simply find the menuitem that you want to show/hide (or change the image and text) and return true.
onPrepareOptionsMenu
覆盖/实现
onPrepareOptionsMenu(...)
回调。根据您的登录状态更改您添加的内容。或者,我还没有对此进行测试,但在我看来它是有效的:当您创建菜单项时,在类变量中保留登录/注销项的句柄,然后通过调用 setTitle(. ..) 根据需要。
Override/Implement the
onPrepareOptionsMenu(...)
callback. Change what you add based on your sign-in state.Alternatively, I haven't tested this but in my mind it works: When you create your menu items, keep a handle to the Sign In/Sign Out item in a class variable, and just update it by calling
setTitle(...)
as needed.