子类中的地理编码上下文

发布于 2024-10-07 03:44:10 字数 776 浏览 3 评论 0原文

我的主要活动是 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);
 }
}

现在我不知道我必须使用哪个上下文。我不明白如何使用它。我尝试了 thiscontextgetBaseContext()getApplicationContext() 但没有任何效果。此外,我尝试为 Adresscontroller 提供一个带有主活动的上下文(getApplicationContext)的参数。

My Main Activity is AddressFinder, here I start a AddressController:

AddressController ac = new AddressController();

The AddressController should update in some cases:

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);
 }
}

Now I have no idea which context I have to use. I don't understand how to use it. I tried this, context, getBaseContext(), getApplicationContext() but nothing worked. Furthermore i tried to give the Adresscontroller an argument with the context (getApplicationContext) of the main activity.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南渊 2024-10-14 03:44:10

我想我有一个解决方案。在主要活动中,我使用以下内容:

ac.updateAddr(getApplicationContext());

在 AddressController 中,我更改了:

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

这就是我为 AddressController 中的 Geocoder 提供上下文的方式。工作正常。

I think i got a solution. In the main activity i use following:

ac.updateAddr(getApplicationContext());

In the AddressController i changed:

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

Thats the way I give the context to the Geocoder in the AddressController. Works fine.

左秋 2024-10-14 03:44:10

在您的 Activity 类中创建变量:

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

也许使用另一个构造函数?:

public Geocoder (Context context, Locale locale)

In your Activity class create variable:

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

Maybe use another constructor?:

public Geocoder (Context context, Locale locale)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文