I have a splash screen with a TextView to displays what the app is doing such as "Updating Library"... "Updating Shipping"... etc. I'm using AsyncTask to updated my database via an API.
I'm passing the update text to the AsyncTask. I need to change the text in TextView statusMessage. I'm attempting to do this:
public class JSONParser extends AsyncTask<String, String, JSONObject> {
    static InputStream is = null;
    static JSONObject json = null;
    static String outPut = "";
    TextView statusMessage;
    @Override
    protected void onPreExecute() {
        statusMessage = (TextView) findViewById(R.id.statusMessage);
    }
...
My plan is to change the text in the doInBackground method but findViewById isn't accessible in AsyncTask. I think I need to use setContentView to allow findViewById to work but I'm not sure how.
My java file is SplashScreen.java and my xml is activity_splash_screen.xml
----- EDIT -----
For more info I have three pieces talking to each other:
SplashScreen.java -> calls to method in baseActivity.java -> method sends data to JSONParser.java -> sends parsed JSON from the API to baseActivity.java to update database
Per suggestions below I've declared
statusMessage = (TextView) findViewById(R.id.statusMessage);
In baseActivity.java's onCreate since it's the file calling the AsyncTask.
In JSONParser.java I've done this, now:
public class JSONParser extends AsyncTask<String, String, JSONObject> {
    static InputStream is = null;
    static JSONObject json = null;
    static String outPut = "";
    TextView statusMessage;
    @Override
    protected JSONObject doInBackground(String... params) {
        // TODO Auto-generated method stub
    ...
    }
    protected void onProgressUpdate() {
        statusMessage.setText("testing");
     }
    protected void onPostExecute(JSONObject result) {
    }
}
I'm just using "testing" there for testing purposes.
 
     
     
     
     
    