Шри-Ланка – государство, расположенное на острове. Поэтому выбор предлога зависит от значения: на Шри-Ланку – на остров, в Шри-Ланку – в государство. http://www.gramota.tv/spravka/buro/search-answer?s=%D0%BD%D0%B0+%D0%BE%D1%81%D1%82%D1%80%D0%BE