No, there isn't a direct way to remove a Pokemon's weaknesses, your friend is lying. It was probably a coincidence that Charizard took such little damage from Water attacks (or perhaps sunlight was in play, which would weaken Water moves).
However, there are ways to remove weaknesses, but you'll be forfeiting ability and item slots, so sometimes they wouldn't be recommended. Some include:
- There are many berries in the game that lower damage from certain moves, eg. Wacan Berry weakens a super effective Electric attack. However these aren't really recommended since there is generally going to be a better item to use. Other items like Air Balloon can do a similar thing.
- Certain abilities such as Flash Fire, Thick Fat, Water Absorb, etc. can weaken or give your Pokemon an immunity to certain types of attacks. The Pokemon that can use these abilities is limited though.
- Some moves, such as Magnet Rise can remove weaknesses (eg. Magnezone loses its Ground weakness after using Magnet Rise.
But there isn't a way to train your Pokemon to resist an attack, sorry.