Вызвано: java .lang.ArithmeticException: делить на ноль в основном действии - PullRequest
0 голосов
/ 03 августа 2020

Итак, я пытаюсь запустить приложение android на моем устройстве, однако я получаю одну и ту же ошибку времени выполнения каждый раз java .lang.ArithmeticException: разделите на ноль , чтобы мое приложение запустилось и немедленно закрывается.

В журнале указано, что вызвано: java .lang.ArithmeticException: делить на ноль. Соответственно, я собираюсь представить вам код в этих трех строках.

 1.**at com.daimajia.slider.library.SliderLayout.setCurrentPosition(SliderLayout.java:664)
   2. at com.daimajia.slider.library.SliderLayout.setCurrentPosition(SliderLayout.java:670)
    3.at com.example.testapp.MainActivity.onCreate(MainActivity.java:53)**
  1. publi c void setCurrentPosition (int position, boolean smooth) {if (getRealAdapter () == null ) выбросить новое исключение IllegalStateException («Вы не установили адаптер слайдера»); if (position> = getRealAdapter (). getCount ()) {выбросить новое исключение IllegalStateException («Позиция элемента не существует»); } int p = mViewPager.getCurrentItem ()% getRealAdapter (). GetCount (); int n = (позиция - p) + mViewPager.getCurrentItem (); mViewPager.setCurrentItem (n, гладкий); }
2.

 public void setCurrentPosition(int position) {
            **setCurrentPosition(position, true);**
        }




3. 

mainSlider = (SliderLayout) findViewById(R.id.main_slider);
        setSlider();
        PagerIndicator pagerIndicator = (PagerIndicator) findViewById(R.id.custom_indicator);
        mainSlider.setCustomIndicator(pagerIndicator);
        mainSlider.setDuration(3);
        **mainSlider.setCurrentPosition(app.heritageSites.size() - 1);**

Строки, отмеченные звездочками, относятся к тем, у кого возникла проблема.

1 Ответ

0 голосов
/ 03 августа 2020

Попробуйте обработать исключение:

try {
     mainSlider.setCurrentPosition(app.heritageSites.size() - 1);
  } catch (ArithmeticException e) {
     e.printStackTrace();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...