IndexOutOfBoundsException: индекс: 0, размер: 0 - PullRequest
0 голосов
/ 24 февраля 2020

Как мне применить это ( Щелкните по этой ссылке ) к моему приложению? Спасибо!

Log Cat:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.get(ArrayList.java:437)
    at com.example.workhours.view_hours$1.onSwiped(view_hours.java:65)

Код:

Это строка, где произошла ошибка:

(строка: 65) final String x = listShift.get (viewHolder.getAdapterPosition ()). getDate ();

Дополнительная информация:

public class MainActivity extends AppCompatActivity implements View.OnClickListener{


ArrayList<newNote> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    list = new ArrayList<>();
}

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Вот как вы можете обработать исключение, используйте троичный оператор:

final String x = listShift.size() < viewHolder.getAdapterPosition()+1 ? null: listShift.get(viewHolder.getAdapterPosition()).getDate();
0 голосов
/ 24 февраля 2020

Шаг 1: Распечатать / проверить значение, возвращаемое viewHolder.getAdapterPosition ()

Шаг 2: Проверить размер списка с помощью listShift.size ()

Причина, по которой это происходит:

  1. Значение viewHolder.getAdapterPosition () <0 </li>
  2. Значение viewHolder.getAdapterPosition ()> listShift.size ()
  3. Список пусто
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...