首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓menuItem监听器?

安卓menuItem监听器?
EN

Stack Overflow用户
提问于 2013-06-20 06:49:47
回答 1查看 1.2K关注 0票数 0

当您创建一个按钮时,您可以分配一个侦听器来捕获用户操作,如单击。

代码语言:javascript
复制
 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是如何工作的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-20 07:04:03

menuItem是如何工作的?

所以OptionsMenu是Android OS中内置的小部件。

它的工作原理简单地说就是,当你点击一个项目时,它立即被称为"OnItemSelectedListener" (你不需要实现它,每当你点击项目时,它都会自动调用)。此监听程序已实现。你不需要实现它,我认为你不应该也不能。

onOptionsItemSelected方法由侦听器调用,当您单击该项目时将调用该方法。

医生到底怎么说的:

只要选择了选项菜单中的一项,就会调用此钩子。默认实现只是返回false,以便进行正常的处理(调用项目的Runnable或向其Handler发送消息)。您可以将此方法用于任何您希望在没有这些其他功能的情况下进行处理的项目。

派生类应直接调用基类,以便基类执行默认菜单处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17202667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档