【发布时间】:2016-02-16 18:26:41
【问题描述】:
我有这样一个简单的方法:
public ArrayList<String> getImagefromGoogleUrl() {
total = "http://www.google.it/search?q=&hl=it&gbv=2&tbm=isch&prmd=ivnsm&ei=5qW8Vua9Dsb-Pa36h7gH&start=0&sa=N";
String stringa = "casa";
total = total.replaceAll("q=", "q=" + stringa);
resultList = new ArrayList<>();
webview = new WebView();
final WebEngine webengine = webview.getEngine();
webengine.documentProperty().addListener((obs, oldDoc, newDoc) -> {
if (newDoc != null) {
nodeList = newDoc.getElementsByTagName("img");
for (int i = 0; i < 10; i++) {
Element img = (Element) nodeList.item(i);
src = img.getAttribute("src");
resultList.add(src);
System.out.println("resultList è grande"+resultList.size());
System.out.println("resultlist vale"+resultList);
// System.out.println(src);
}
}
else
System.out.println("ciao");
});
webengine.load(total);
System.out.println("resultList prima del return è grande"+resultList.size());
return resultList;
}
我使用webengine 对象进行查询,其中字符串为total,然后我将图像的每个路径(查询是关于图像研究)放入ArrayList。元素是正确的,但是当我调用函数getImagefromGoogleUrl() 并尝试获取大小时,我得到[]。一个更清楚的例子:
ArrayList<String> prova = getImagefromGoogleUrl();
if(prova.size()!=0)
{
System.out.println("prova size is"+prova.size());
listaimmagini.addAll(prova);
}
所以这样arraylist prova是空的,我不明白为什么?
【问题讨论】:
-
当您从函数中
returnresultList时,它是否包含正确的值? -
不,
return resultList;之前的打印System.out.println("resultList prima del return è grande"+resultList.size());返回 0。我只在 for 循环内得到正确的值。
标签: java string arraylist javafx