当您创建一个按钮时,您可以分配一个侦听器来捕获用户操作,如单击。
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do some stuff
}
});
}我的问题是为什么菜单项不需要监听器?我所需要的就是编写getMenuInflater().inflate(R.menu.main, menu);
内部
public boolean onCreateOptionsMenu(Menu menu)。
并使用
public boolean onOptionsItemSelected(MenuItem item)
定义单击项目时的行为。我没有看到任何setListener方法。此外,主activity类没有实现任何侦听器。menuItem是如何工作的?
发布于 2013-06-20 07:04:03
menuItem是如何工作的?
所以OptionsMenu是Android OS中内置的小部件。
它的工作原理简单地说就是,当你点击一个项目时,它立即被称为"OnItemSelectedListener" (你不需要实现它,每当你点击项目时,它都会自动调用)。此监听程序已实现。你不需要实现它,我认为你不应该也不能。
onOptionsItemSelected方法由侦听器调用,当您单击该项目时将调用该方法。
医生到底怎么说的:
只要选择了选项菜单中的一项,就会调用此钩子。默认实现只是返回false,以便进行正常的处理(调用项目的Runnable或向其Handler发送消息)。您可以将此方法用于任何您希望在没有这些其他功能的情况下进行处理的项目。
派生类应直接调用基类,以便基类执行默认菜单处理。
https://stackoverflow.com/questions/17202667
复制相似问题