From ea9a9dca4a1bbd87604032930f6a33ccb4e4612c Mon Sep 17 00:00:00 2001 From: Rossen Hristov Date: Fri, 22 Apr 2016 16:09:00 +0300 Subject: [PATCH] Fix: Multiple actionView items do not handle tap event correctly Resolves #1878 --- ui/action-bar/action-bar.android.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ui/action-bar/action-bar.android.ts b/ui/action-bar/action-bar.android.ts index c1ebd37a3..b2270ec5f 100644 --- a/ui/action-bar/action-bar.android.ts +++ b/ui/action-bar/action-bar.android.ts @@ -267,15 +267,8 @@ export class ActionBar extends common.ActionBar { if (item.actionView && item.actionView.android) { // With custom action view, the menuitem cannot be displayed in a popup menu. item.android.position = enums.AndroidActionItemPosition.actionBar; - menuItem.setActionView(item.actionView.android); - // Note: When using a custom action view the toolbar's MenuItemClickListener is not triggered! - menuItem.getActionView().setOnClickListener(new android.view.View.OnClickListener({ - onClick: - function () { - item._raiseTap(); - } - })); + ActionBar._setOnClickListener(item); } else if (item.android.systemIcon) { // Try to look in the system resources. @@ -299,6 +292,14 @@ export class ActionBar extends common.ActionBar { } } + private static _setOnClickListener(item: ActionItem): void { + item.actionView.android.setOnClickListener(new android.view.View.OnClickListener({ + onClick: function (v: android.view.View) { + item._raiseTap(); + } + })); + } + public _onTitlePropertyChanged() { var topFrame = frame.topmost(); if (this._toolbar && topFrame && topFrame.currentPage === this.page) {