TextView text = new TextView(this);
Why is this key word is required here ?
This refers to the current object which in your case is the Activity as you are probably executing this code from the onCreate of your activity class.
And the constructor of TextView class at least requires a context as an argument.
And Activity is a subclass to Context so passing "this" does the trick.
Thats why you cannot do something like this.
TextView text = new TextView();
Now to answer why we are doing this. Think it in this way.
This is a view that needs to attach itself to some context. so that it can also consume
many context related privileges in the system.
See context as an individually existing wrapped component of your application that will be binding so many thing in it and has a properly defined life cycle.
Activity is a type of context. Activity is a one visible screen in android application.
Actually activity is much more than that. But just to understand this at elementary level.
setContentView says it all itself.
The content that activity is going to display in the visible screen it belongs to.
So you declared a TextView and sets it as the content of the activity to be get displayed.
Simple.
Hope it helps in understanding it better.
You should better follow
http://developer.android.com
cheers