2017-01-19 20 views
2

У меня есть два элемента, анализируемые с jsoup, как тот же период:Проверка обнуляемого состояния пролетных

span.icon-list__title 

Проблема заключается в следующем: первый пролет всегда есть, но второй не может быть. Я попытался for петли, делая итераторы проверку для первого, а затем следующий:

Iterator t = third.select("span.icon-list__title").iterator(); 
    if (t.hasNext()) { 
     title_software = t.next().toString(); 
     //first behaviour 
     while (t.hasNext()) { 
      photo_time = t.next().toString(); 
     } 
    } 

Но я всегда, кажется, чтобы получить java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2 error, потому что диапазон, кажется, не существует. Есть ли способ проверить, существует ли он до его разбора? Проблема в том, что у меня есть два отдельных строковых значения.

В принципе у меня есть 3 divs класса icon-list, который может быть обнуляемым (не существует), и каждый из этих дивы есть две дивы:

icon-list__title и icon-list__infos, кроме третьего. Есть ли в любом случае, я могу проверить, был ли каждый элемент пустым или нет? Кажется, я не могу хранить элементы в строковых переменных.

Только третий дивизион имеет два пролета класса icon-list__title.

Вот HTML:

<div class="icon-list"> 
    <div class="icon-list__icon"> 
     <i class="icon-expand"></i> 
    </div> 
    <div class="icon-list__content"> 
     <div class="icon-list__title">4000 x 2667 pixels</div> 
     <div class="icon-list__infos"> 
     <span>3.0 MB</span> 
     </div> 
    </div> 
</div> 
<div class="icon-list"> 
    <div class="icon-list__icon"> 
     <i class="icon-camera"></i> 
    </div> 
    <div class="icon-list__content"> 
     <div class="icon-list__title"> 
     450 
     </div> 
     <div class="icon-list__infos"> 
     <span>1</span> 
     <span>2</span> 
     <span>3</span> 
     <span>4</span> 
     </div> 
    </div> 
</div> 
<div class="icon-list"> 
    <div class="icon-list__icon"> 
     <i class="icon-info"></i> 
    </div> 
    <div class="icon-list__content"> 
     <span class="icon-list__title"> 
     Span span 1 
     </span> 
     <span class="icon-list__title"> 
     Span span 2 
     </span> 
    </div> 
</div> 

Все может быть обнуляемым.
Является ли это лучшим, если я использую цикл foreach и помещаю все в recyclerview?

ответ

2

Как о чем-то вроде этого, очень статического кода, но может сделать работу:

Elements result = third.select("span.icon-list__title"); 
if (result.size() > 0) { 
    title_software = result.get(0).toString(); 
} 
if (result.size() > 1) { 
    photo_time = result.get(1).toString(); 
} 
System.out.println(title_software); 
System.out.println(photo_time);