Контекст геокодера в подклассе - PullRequest
0 голосов
/ 08 декабря 2010

Моя основная активность - AddressFinder, здесь я запускаю AddressController:

AddressController ac = new AddressController();

В некоторых случаях AddressController должен обновляться:

import android.content.Context;
....
private void updateAddresses() throws IOException {
    Geocoder geocoder = new Geocoder(context);
 for (Address a: address) {
 List<Address> addressIn = geocoder.getFromLocation(a.getLatitude(), 
                                                       a.getLongitude(), 1);
 }
}

Теперь я понятия не имеюкакой контекст я должен использовать.Я не понимаю, как его использовать.Я пытался this, context, getBaseContext(), getApplicationContext(), но ничего не получалось.Кроме того, я попытался дать Adresscontroller аргумент с context (getApplicationContext) основной деятельности.

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

Я думаю, у меня есть решение.В основной деятельности я использую следующее:

ac.updateAddr(getApplicationContext());

В AddressController я изменил:

public void updateAddr(Context c) throws IOException {
    updateAddresses(c);
}

Так я даю контекст для Geocoder в AddressController.Работает нормально.

0 голосов
/ 08 декабря 2010

В вашем классе Activity создать переменную:

Context con = this;  
... 
Geocoder geocoder = new Geocoder(con);

Может быть, использовать другой конструктор?:

public Geocoder (Context context, Locale locale)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...