Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial

Peter LABORDE
2,124 PointsProblem Task 1 finishing our asynctask
I am getting an error with my code and I cannot identify the problem:
import android.os.AsyncTask;
import android.os.Bundle;
public class CustomActivity extends Activity {
protected JSONObject mStatus;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom);
CustomAsyncTask task = new CustomAsyncTask();
task.execute();
}
protected void updateStatusLabel() {
super.updateStatusLabel();
}
protected class CustomAsyncTask extends AsyncTask<Object, Void, String> {
@Override
protected String doInBackground(Object... params) {
// Imagine this is some code to do some work
return "Done!";
}
@Override
protected void onPostExecute(JSONObject result) {
mStatus = result;
}
}
}
I changed mStatus to a JSONObject and passed the result to it. What is wrong?
1 Answer

Ben Jakuben
Treehouse TeacherThe parameter for your onPostExecute()
method should match the data type of the result returned from doInBackground()
. So in other words, since your doInBackground()
method is currently returning a String, you'll need to change JSONObject result
to String result
and update elsewhere accordingly. Or change doInBackground()
to return a JSONObject.
Hope this helps!
Tyler Wendlandt
4,267 PointsTyler Wendlandt
4,267 PointsCan you go into the LogCat and post what the logged error is.