Итак, я разрабатываю свое первое многопоточное приложение, использующее Android с классом AsyncTask. Я пытаюсь использовать его, чтобы отключить геокодер во втором потоке, а затем обновить пользовательский интерфейс с помощью onPostExecute, но я все время сталкиваюсь с проблемой с соответствующим контекстом.AsyncTask и контексты
Я как-то ковылял свой путь с помощью контекстов в основном потоке, но я не совсем уверен, что такое Контекст или как использовать его в потоках фона, и я не нашел на нем хороших примеров. Любая помощь? Вот выдержка из того, что я пытаюсь сделать:
public class GeoCode extends AsyncTask<GeoThread, Void, GeoThread> {
@Override
protected GeoThread doInBackground(GeoThread... i) {
List<Address> addresses = null;
Geocoder geoCode = null;
geoCode = new Geocoder(null); //Expects at minimum Geocoder(Context context);
addresses = geoCode.getFromLocation(GoldenHour.lat, GoldenHour.lng, 1);
}
}
Он держит неудачу на шестой строчке, из-за неправильного контекста.
Пожалуйста, не могли бы вы опубликовать пример того, что вы сделали и обновить правильный ответ на этот вопрос? –
@ Юджин ван дер Мерве посмотри мой ответ, я думаю, что это пример того, что он сделал. –