2011-05-28 93 views
0

我想實現在實現RunnableGeocoder,我在這一行出現錯誤:實施地理編碼

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 ......但它仍然說「不能解決..」。

+0

好的胚胎,上下文是一個類,它需要一個實例(如活動或應用程序上下文)。 「this」是一個Runnable。只使用一個班的名字是行不通的。這看起來更像是一個關於java語法和語義的問題,而不是android – 2011-05-29 16:48:33

回答

2

您必須以某種方式傳遞Context實例。沒有它,Geocoder將無法工作。

1

如果您需要Context實例並且不需要活動,請使用Service擴展ClientThread_special類,然後我認爲您不需要Runnable。