Search code examples
androidvariablescursor

How to declare cursor as global variable


i have two classes,MainActivity.java and ImageAdapter.java i have declared cursor in main activity like this

public  Cursor cursor;

now i want to access that variable 'cursor' in my second class named imageAdapter.java.How it will be possible in good way guys?


Solution

  • If your ImageAdapter extends CursorAdapter then use in MainActivity

    adapter.swapCursor(yourCursor);
    

    and in ImageAdapter then call getCursor()

    If ImageAdapter is not extended from CursorAdapter, then you can implement set methods in it.

    private Cursor cursor;
    
    public void setCursor(Cursor cursor){
        this.cursor = cursor;
    }
    

    And set it in MainActivity like imageAdapter.setCursor(yourCursor);

    This is usually better from OOP perspective than declaring cursor in MainActivity as static or creating your ImageAdapter dependant from MainActivity.