2014-02-19 29 views
0

快速点击,即使返回值是真实的 - 这意味着该事件被消耗,不应该被调用 这里是我的代码:onMenuItemClick上的动作将调用监听多次调用几次

menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { 
    @Override 
    public boolean onMenuItemClick(MenuItem item) { 
     // blabla... 
     return true; 
    } 
}); 

任何想法为什么项目点击事件发送两次,即使返回值为真?

+0

也许你已经为'menuItem'的父视图定义了另一个侦听器? – nKn

+0

没有。它只是那个监听器并且在那个特定的菜单项上设置一次。我不重用监听器。 –

+1

检查您是否意外在您的XML菜单文件中使用android:onclick属性。 – Behnam

回答

0

你会尝试创建一个本地布尔值为真,并把如果控制里面onMenuItemClick和点击后使其为假?我猜,点击不会触发,但它是错误的。至少你可以检查它是否是由onClick或另一个监听器为menuItem的父视图导致的,如nKn所告知的。我的猜测是这是因为你快速点击相同的按钮,因为延迟执行onClick你通过按几次来调用onClick。