Java 尚未从内部类访问变量
我有一个在UI线程中运行代码的内部类,我需要将变量传递给run()方法 我尝试在不使用数组的情况下传递最终res,但出现了一个错误,即必须使用数组res[0]。 在这种情况下,我需要初始化res[],因为它抛出Java 尚未从内部类访问变量,java,android,jsoup,Java,Android,Jsoup,我有一个在UI线程中运行代码的内部类,我需要将变量传递给run()方法 我尝试在不使用数组的情况下传递最终res,但出现了一个错误,即必须使用数组res[0]。 在这种情况下,我需要初始化res[],因为它抛出NullPointerException 是否有其他方法将变量传递到内部类中 private String sendRequest(String url, String... data) { final Connection.Response[] res = {};
NullPointerException
是否有其他方法将变量传递到内部类中
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;
}
res[]
被定义为一个空数组(没有位置),然后您尝试在res[]
中将某个位置分配给位置0,没有位置0,因为需要为其指定大小
final Connection.Response[] res = new Connection.Response[requiredArraySize];
在您的情况下,
requiredArraySize
可能是1。我理解,但我如何初始化它?我试着找到另一种方法。谢谢,这是最简单的方法,我不知道为什么我没有早点尝试。