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! While you're at it, check out some resources Treehouse students have shared here.

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

General Discussion

Adapting Data for Display in a List Code challenge 2/2

hello, I dont understand what i did wrong that the syntax dosn't work?

Inside 'onPostExecute()', set the member variable 'mStatus' to the value passed into 'onPostExecute()'. Then call the 'updateStatusLabel()' method of 'CustomActivity'.

import android.os.AsyncTask;
import android.os.Bundle;

public class CustomActivity extends Activity {

    public String 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(String result){
      mStatus = result;
      updateStatusList();
  }
 }
}

If someone woluld help me i'd be verry gratefoul :D Thx for your time. Ziga :D

4 Answers

I guess there was a bugg or summthing, i wrote today the same lines and it worked. :D

I put this into it and it said I was wrong

The reason why it wasn't working is because on the last line he called "updateStatusList()" instead of "updateStatusLabel()".

check this *bold

import android.os.AsyncTask; import android.os.Bundle; public class CustomActivity extends Activity { public String 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(String result){ mStatus = result; updateStatusLabel(); } } }