Here's kind of an outline of the relevant problem:

```
public class Foo extends Activity{

    Cursor myCursor;

    public void onCreate(Bundle savedInstanceState) {
        //I initialize myCursor here
    }

    public void setCursor(){
        //When we are interested in a different set of data, the cursor changes here
    }

    public static class MySurfaceView extends SurfaceView implements Runnable{
        public void run(){
            //I need to access myCursor here
        }
    }
}

```

I know I cannot access a non-static variable from within a static class, but I can't make myCursor static because it would require changing almost all of my functions to static. Any tips?