好的,我在UI线程中遇到网络使用问题,现在使用AsyncTask。我正在使用碎片并遇到问题。
放这行时:
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
我必须添加getActivity(),因为它在一个fragmetn中,然后错误就消失了但是我在这一行上得到了一个错误:
new DownloadWebpageTask().execute(stringUrl);
错误是:“无法访问MainActivity类型的封闭实例。必须使用MainActivity类型的封闭实例限定分配(例如x.new A(),其中x是MainActivity的实例)。”
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
我的猜测是你的DownloadWebpageTask
是MainActivity
的非静态嵌套类。
您可以通过更改它来使其静止:
public static class DownloadWebpageTask extends AsyncTask<..> {
...
}
或者,您可以使用DownloadWebpageTask
的实例创建新的MainActivity
,如下所示:
mainactInstance.new DownloadWebpageTask();