code: int getRowByY(int y) {
          checkForInit();
          int sum = 0;
          // header offset
          int tempY = y - mHeaderColumnHeight;
          if (tempY <= sum) {
              return 0;
          }
          for (int count = mRowHeights.length, i = 0; i < count; i++) {
              int nextSum = sum + mRowHeights[i];
  
              if (tempY > sum && tempY < nextSum) {
                  return i;
              } else if (tempY < nextSum) {
                  return i - 1;
              }
              sum = nextSum;
          }
          return mRowHeights.length - 1;
      }
docs: Return row number which bounds contains Y
  
  @param y coordinate
  @return row number