You first need to take him to a vet to make sure there is not an underlying medical cause. Thyroid problems could affect appetite, and I'm sure other things can as well.
If there is no medical problem, it's possible that he's just really picky. In that case, just stick to one food. He won't starve himself if he's healthy.
If there is no medical problem, it's possible that he's just really picky. In that case, just stick to one food. He won't starve himself if he's healthy.