Как проверить, является ли view pager последним элементом при записи unit в Android

#java #android #unit-testing #kotlin #junit

#java #Android #модульное тестирование #kotlin #junit

Вопрос:

Я писал тест junit, в котором я хотел знать, находится ли view pager в последнем элементе или нет. Как я могу это сделать. На самом деле я новичок в написании модульных тестов.

Заранее спасибо 🙂

Ответ №1:

Вы можете получить текущую позицию из ViewPager usign getCurrentItem() . Это значение вы можете сравнить с количеством элементов в ViewPager адаптере.

Помните, что элементы в ViewPager индексируются с 0 (so 0, 1, 2, 3, ... ), но количество элементов (в адаптере) в количестве элементов.

В kotlin:

 val result = if (view_pager.adapter == null) {
    // Adapter did not set
    false
} else {
    // Check if "current position" equal "number of elements
    view_pager.currentItem == view_pager.adapter?.count?.minus(1)
}
  

В Java:

 boolean resu<

if (viewPager.getAdapter() == null) {
    // Adapter did not set
    result = false;
} else {
    // Check if "current position" equal "number of elements
    result = viewPager.getCurrentItem() == viewPager.getAdapter().getCount() - 1;
}
  

Комментарии:

1. В kotlin вы можете записать это с помощью view_pager.adapter?.let { ... } ?: false

2. @Ircover да, вы можете писать многими способами. Мое выше короче и больше похоже на Java.