Usually, we use "on" for flat things:
(on T.V., on the grass, on Earth, on the table, on a ship, on a stool)
We use "in" we mean "inside":
(in a book, in the bathroom, in a rowboat, in China--countries are like rooms, in Los Angeles-cities, too, in his chair--a chair has sides, so you can sit in it.)
We use "at" for places. Confusing, right? We can say "at the stadium" or "in the stadium." Both are correct.
I'm at the stadium--I'm at that location
If my friend calls me and says "Where are you?" I will say, "I'm at the stadium, watching Real Madrid."
I'm in the stadium--I'm not outside, I'm inside
If my friend calls me and says, "Hey, I'm in the parking lot. Where are you?" I will say "I'm in the stadium. Come inside."
This is one of the hardest skills in English. I made a video about some common mistakes, if you want to take a look:
http://www.youtube.com/watch?v=AjQJHkODzq4
Have a good one.
-Dan