从arraylist中删除空值

时间:2011-10-26 19:54:07

标签: android arraylist jsoup baseadapter

我解析网页的所有TD元素。 有1个TD元素似乎是空的。

EUR 1,00
EUR 2,00
empty  <--
EUR 3,00

我如何解决此问题并从arraylist中删除空项目(结果)?

提前谢谢。

我的代码:

 try {

          Document doc = Jsoup.parse(kpo);  
       // Get all td's 
          Elements waardes = doc.select("TBODY"); 
          Iterator<Element> postIt = waardes.select("td").iterator();
       // Iterator over those elements      
          //ListIterator<Element> postIt = waardes.listIterator(); 
          postIt.next();
          postIt.next();
          postIt.next();
          postIt.next();

          SearchResults sr1 = new SearchResults();
          //SearchResults sr2 = new SearchResults();

          while (postIt.hasNext()) { 

                sr1 = new SearchResults();
                // Add the game text to the ArrayList      
                sr1.setNaam(postIt.next().text()); 
                sr1.setWaarde(postIt.next().text());  
                results.add(sr1); 
          } 

          } catch (Exception e) { 
        // TODO Auto-generated catch block 
            e.printStackTrace(); 
          } 

          return results;

        } 

编辑: 我让它像以下一样工作:

while (postIt.hasNext()) {  

    String naam = postIt.next().text();
    String waarde = postIt.next().text();

    sr1 = new SearchResults();

    // Add the text to the ArrayList     
    if (!naam.trim().isEmpty() && !waarde.trim().isEmpty()) {
       sr1.setNaam(naam);
       sr1.setWaarde(waarde);
       results.add(sr1); 
    }

1 个答案:

答案 0 :(得分:0)

确保在SearchResults为空时您尚未添加waarde。通过这种方式,你不需要随后清理一个和另一个。

所以,替换

sr1.setWaarde(postIt.next().text());  
results.add(sr1); 

例如

String waarde = postIt.next().text();

if (!waarde.trim().isEmpty()) {
    sr1.setWaarde(waarde);  
    results.add(sr1);
}