private void refreshItemState(int position) { for (int i = 0; i < mMenu.getVisibleItems().size(); i++) { MenuItemImpl menuItem = mMenu.getVisibleItems().get(i); if (i == position) { menuItem.setChecked(true); } else { menuItem.setChecked(false); } ToolsItemTextView tvItem = (ToolsItemTextView) getChildAt(i); tvItem.initialize(menuItem); } }
private void init(Context context) { if (mMenu != null) { for (int i = 0; i < mMenu.getVisibleItems().size(); i++) { MenuItemImpl menuItem = mMenu.getVisibleItems().get(i); ToolsItemTextView tvItem = new ToolsItemTextView(context); tvItem.initialize(menuItem); addView(tvItem); final int position = i; tvItem.setOnClickListener( v -> { if (menuItem.isChecked()) { return; } refreshItemState(position); if (mOnToolItemClickListener != null) { mOnToolItemClickListener.onItemClick(menuItem.getItemId()); } }); } } }