MainActivity.this is not an enclosing class AsyncTask
Eclipse is probably right, and you are trying to access a class (MainActivity
) that is inside it's own file from another class that is in its own file (BackgroundWorker
) . There is no way to do that - how is one class supposed to know about the other's instance magically? What you can do:
- Move the AsyncTask so it is an inner class in
MainActivity
- Pass off your Activity to the AsyncTask (via its constructor) then acess using
activityVariable.findViewById();
(I am usingmActivity
in the example below) Alternatively, yourApplicationContext
(use proper naming convention, theA
needs to be lowercase) is actually an instance ofMainActivity
you're good to go, so doApplicationContext.findViewById();
Using the Constructor example:
public class BackgroundWorker extends AsyncTask<Context, String, ArrayList<Card>>
{
Context ApplicationContext;
Activity mActivity;
public BackgroundWorker (Activity activity)
{
super();
mActivity = activity;
}
//rest of code...
As for
I'm not sure if I used the right way to get the context
It is fine.