在我的Activity的一些方法中,我想检查菜单的标题或知道它是否被选中.我怎样才能获得Activity的菜单.我需要类似的东西this.getMenu()
我想Option Menu为Android制作,我访问过这个网站.在他们的脚本中,我发现onPrepareOptionsMenu,我尝试使用Android 2.3.3编译器进行编译和运行onPrepareOptionsMenu,无论是否有效,但我没有看到任何区别.
public boolean onCreateOptionsMenu(Menu menu){
//code here
}
public boolean onOptionsItemSelected(MenuItem item){
//code here
}
public boolean onPrepareOptionsMenu(Menu menu){
//code here
}
Run Code Online (Sandbox Code Playgroud)
实际上是什么onPrepareOptionsMenu方法呢?这种方法很重要吗?我可以删除方法吗?
加成
哦,我也听说过Action Bar在Android 3.0中,它说Action Bar是make的替代方式Option Menu,并且它正在使用onPrepareOptionsMenu.是对的吗?
谢谢...
我正在研究android应用程序.我已经在其中实现了支持的操作栏.我想始终显示选项菜单项.但它没有表现出来.它显示在下拉菜单中.我的代码为下面给出的菜单项.
<item
android:id="@+id/action_settings"
android:icon="@drawable/add_post"
android:title="@string/action_settings"
/>
Run Code Online (Sandbox Code Playgroud)
ActionBar Activity的代码如下: -
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我想在按下Menu手机上的按钮时执行自定义操作.
是否可以在按钮上设置onClickListener(或类似),如果是,如何?
onCreateOptionsMenu 仅在第一次按下按钮时调用 - 我已经尝试过了.
ttk optionmenu小部件从下拉列表中的所有值开始.选择任何值后,列表中的第一个值将消失,永远不会重新出现......
有谁知道为什么?这是小部件设计的一个特征吗?尝试使用以下内容:
import tkinter.ttk as ttk
import tkinter as tk
a = tk.Tk()
options = ['1', '2', '3']
value = tk.StringVar()
masterframe = ttk.Frame()
masterframe.pack()
dropdown = ttk.OptionMenu(masterframe, value, *options)
dropdown.pack()
a.mainloop()
Run Code Online (Sandbox Code Playgroud)
注意 - 另一个用户在此处提出了相同的问题:OptionMenu在点击时不会显示第一个选项(Tkinter)
他们似乎找到了解决方法,但不明白为什么会发生这种情况.
更新:实际上只有在使用ttk小部件时才会出现此行为.tk小部件工作正常(尽管看起来非常难看).
我有一个包含a的操作栏searchview.当用户单击搜索按钮并折叠搜索视图时,操作栏会在左侧显示后退按钮.

我们如何检测用户何时点击此后退按钮?
编辑
基于答案,我检查了我,OnOptionsItemSelected但它也没有打电话.这是我的代码OnOptionsItemSelected:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (item != null && id == android.R.id.home) {
if (mNavigationDrawerFragment.isDrawerOpen(Gravity.RIGHT)) {
mNavigationDrawerFragment.closeDrawer(Gravity.RIGHT);
} else {
mNavigationDrawerFragment.openDrawer(Gravity.RIGHT);
}
return true;
}
if (id == R.id.action_search) {
return true;
}
return …Run Code Online (Sandbox Code Playgroud) 我试图从tkinter OptionMenu中删除默认的"box like"图标,并将其替换为我自己的图像文件.下面是我迄今为止的代码.它工作,但我必须添加最后一行,以使其显示箭头图像和OptionMenu功能.但是,箭头图像总是在文本之后而不是在OptionMenu的最右边,并且粘性不接缝,因此宽度= 140.我在Python 2.6中工作.
将图像向右移动的任何消息?

...
arrow = PhotoImage(file='arrow.gif')
om = OptionMenu(root,myVar,*myOptList)
om.grid(sticky=W+E,padx=5,pady=5)
om.config(indictoron=0,compound='right',image=arrow,width=140)
om.image=arrow
...
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试制作两个OptionMenu,其中第二个将根据第一个中选择的内容动态更新OptionMenu.
例如,我想OptionMenu_A用list做
[North America, Europe, Asia]
Run Code Online (Sandbox Code Playgroud)
Asia被选中,那么OptionMenu_B将改为类似的东西[Japan, China, Malasia].Europe选中,则它将更改[Germany, France, Switzerland]为例如.我可以制作两个OptionMenu但不能OptionMenu_B根据OptionMenu_A状态更新.
如果这样的事情有可能,有人会表现得很友好吗?
optionmenu ×10
android ×7
menu ×3
python ×3
tkinter ×3
dynamic ×1
java ×1
searchview ×1
ttk ×1