I tried leveling up my heracross but it's bar wont go up. If you click on it's stats, you can see the xp bar is full and it's going up, yet it's not gaining levels. Why is that?
it's because of their EXP groups, they don't gain EXP as fast as other pokemon so training them in towns or tiles close to towns is not very effective, try going at least 3 or 4 tiles away from the closest town and the EXP bar will fill faster
pokes belonging to slow/erratic group have lesser exp than required for their current level. So once u faint few pokes, that gap is bridged and exp bar will start working normally. Until then the bar wont increase but the poke will continue to gain exp. U can check it in the value of exp by opening the poke profile