好吧,我在 UI 线程中遇到了网络使用问题,现在使用 AsyncTask。我正在使用 Fragment,但遇到了问题。
放置此行时:
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
我必须添加 getActivity() 因为它在 Fragmetn 中,然后错误消失,但随后我在这一行收到错误:
new DownloadWebpageTask().execute(stringUrl);
错误是:“无法访问 MainActivity 类型的封闭实例。必须使用 MainActivity 类型的封闭实例来限定分配(例如 x.new A(),其中 x 是 MainActivity 的实例)。”
关于如何解决这个问题有什么想法吗?
最佳答案
我的猜测是,您的 DownloadWebpageTask
是 MainActivity
的非静态嵌套类。
您可以通过像这样更改它来使其静态:
public static class DownloadWebpageTask extends AsyncTask<..> {
...
}
或者,您可以使用 MainActivity
实例创建一个新的 DownloadWebpageTask
,如下所示:
mainactInstance.new DownloadWebpageTask();
关于java - Android - 在 fragment 中使用连接管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16702058/