Yazdığınız AsyncTask sınıfında Activity'deki TextView'a erişmek için yanlış bir yol izliyorsunuz. Activity'nizi new ile örnekleyip ondan findViewById(int) ile bu şekilde değer alamazsınız, null döndürür (çünkü findViewById()'ye vereceğiniz int (R.id.falan) değerin, onCreate() aşamasında yüklenen XML'den alınıp işlenmesi icap eder, dolayısıyla o Activity'nin onCreate() olayını yaşaması gerekir. int değerin R.java'da yazılı olması ayrı bir şey. Bkz: en önce ilklendirilmesi gereken onCreate(Bundle)) ve dolayısıyla NullPointerException alırınız.
UI thread'teki bir View'a doğrudan AsyncTask'ın sonucunu verecekseniz, o AsyncTask'ın yapılandırıcı/constructer metoduda o View'ın bi referansını geçmelisiniz/pass etmelisiniz. Kafa karıştıran şey şu belki de: onPostExecute(), UI thread üzerinde çalışıyor. Evet, AsyncTask sınıfının tasarım aşamasında verilen bir karar bu ve fakat bu bize o thread'te yaşayan, var olan her nesneye ve referansına doğrudan erişebileceğimiz anlamına gelmiyor.
Bununla ilgili şurada güzel bir örnek var: http://developer.android.com/training/displaying-bitmaps/process-bitmap.html AsyncTask'ın yapılandırıcısında, kullanıcıya sonucu bildirmek için bir ImageView'ın referansını almış. Bu referansı onPostExecute()'ta kullanıp o ImageView'a bir şeyler set ediyor. (Örnekteki WeakReferance'a aldırmayın. O performans ve bellek açısından güzel bir alışkanlık. Siz doğrudan şuna benzer bir şey deneyebilirsiniz: http://pastebin.com/ZqhsHELM)
Not: onPostExecute(String)'ta aldığınız parametreyi önceden doInBackGround()'ta işleyip, daha rafine bir biçime getirdikten sonra onPostExecute()'ta kullanabilirsiniz gibime geldi.