Итак, я работаю над своим первым многопоточным приложением на Android с классом AsyncTask. Я пытаюсь использовать его для запуска геокодера во втором потоке, затем обновляю пользовательский интерфейс с помощью onPostExecute, но продолжаю сталкиваться с проблемой с соответствующим контекстом.
Я как-то мешал использовать контексты в главном потоке, но я не совсем уверен, что такое контекст или как его использовать в фоновых потоках, и я не нашел в нем хороших примеров. Любая помощь? Вот выдержка из того, что я пытаюсь сделать:
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);
}
}
Он продолжает терпеть неудачу на шестой строке там из-за неправильного контекста.