没有从内部类访问变量

时间:2013-11-27 11:42:05

标签: java android jsoup

我有内部类在UI线程中运行代码,我需要将变量传递给run()方法。

我尝试在没有数组的情况下传递最终res,但是我有一个错误,需要使用数组res [0]。 在这种情况下,我需要初始化res [],因为它会抛出NullPointerExeption。

还有其他方法可以将变量传递给内部类吗?

private String sendRequest(String url, String... data) {
        final Connection.Response[] res = {};
        ...
        try {
            final Connection connection = Jsoup.connect(url)
                    .method(Connection.Method.POST)
                    .cookies(cookies)
                    .timeout(30000)
                    .ignoreContentType(true);
            if (data != null) {
                connection.data(data);
            }

            ((Activity) con).runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    try {
                        res[0] = connection.execute();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
            result = Jsoup.parse(res[0].parse().outerHtml(), "UTF-8").text();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }

1 个答案:

答案 0 :(得分:2)

res[]被定义为一个空数组(没有位置),然后你尝试在res[]中分配给位置0的东西,没有位置0,因为它需要给出一个大小。 ..

final Connection.Response[] res = new Connection.Response[requiredArraySize];

在您的情况下,requiredArraySize可能是1。