#android #android-context
#Android #android-контекст
Вопрос:
Я пытаюсь реализовать Geocoder
в классе, который реализует Runnable
, и я получаю ошибку в этой строке:
Geocoder myLocation = new Geocoder(this, Locale.getDefault());
Я не думаю, что Android нравится this
.
Но какой контекст я должен передать, чтобы это сработало?
public class ClientThread_special implements Runnable {
public void run() {
Geocoder myLocation = new Geocoder(this, Locale.getDefault());
}
}
Я пытаюсь реализовать Geocoder
в классе, который не расширяется Activity
, и у меня возникают проблемы с передачей контекста для Geocoder
конструктора.
Android не нравится this
для моего класса. Я также пробовал с getApplicationContext
…но все же в нем говорится, что «это не может быть разрешено ..».
Комментарии:
1. Хорошо, эмбри, Context — это класс, экземпляр которого вам нужен (например, activity или контекст приложения). «это» является работоспособным. Использование только имени класса не сработает. Похоже, это скорее вопрос синтаксиса и семантики Java, чем Android
Ответ №1:
Вы должны каким-то образом передать экземпляр контекста. Без этого геокодер не будет работать.
Ответ №2:
Если вам нужен экземпляр контекста и не требуется действие, расширьте класс ClientThread_special с помощью Service, и я думаю, тогда вам не понадобится Runnable.