обновить Global Var из LocationListener - PullRequest
0 голосов
/ 26 мая 2011

Я создал класс, который содержит глобальные переменные:

public class GlobalVar extends Application{

    private XData xData;

    public XData getxData ()     
    {         
        return xData;     
    }     

    public void setXdata  (XData Xdata)     
    {
        this.xData = xData;                
    } 
}

Когда я получаю доступ к этому классу с помощью (GlobalVar)getApplicationContext() из действий моего приложения, это нормально, но когда я хочу получить к нему доступ из другого класса(в данном случае это LocationListener), я не могу использовать (GlobalVar)getApplicationContext()

Как я могу получить доступ к данным?

Ответы [ 3 ]

0 голосов
/ 26 мая 2011

Вы можете позвонить

GlobalVar gv = (GlobalVar) getApplication()

с любого Activity в своем коде.

Для получения дополнительной информации см. http://developer.android.com/reference/android/app/Activity.html#getApplication()

0 голосов
/ 26 мая 2011

Вы должны реализовать шаблон Singleton в своем классе GlobalVar. И доступ к ним напрямую без getter / setter рекомендуется на Android (см. Руководство по производительности ).

Вы также можете просто сделать переменную xData статической, а затем получить доступ к ней напрямую из любого места.

0 голосов
/ 26 мая 2011

Используя:

Context.getApplicationContext()
...