Сбой приложения после пролистывания на пустой Arraylist [] Жест сверху и снизу - PullRequest
0 голосов
/ 06 марта 2019

Я работаю над небольшим приложением для обучения Android-разработчика.

На самом деле я застреваю, когда провожу пальцем снизу вверх и сверху вниз.

Я бы хотелдо бесконечности проведите [images] от 0 до 4.

Если я превышаю предел массива -1 или +5, происходит сбой приложения.

Этот короткий код работает хорошо, но я скучаю по [0] снизу вверх

и мне не хватает [4] сверху вниз.

Пожалуйста, помогите мне, я застрял на нем 2 дня.

СпасибоВы очень много.

// A SIMPLE COUNTER

  int counter = 0;

// ARRAY OF SMILEYS LIST

    int[] arraySmileys = new int[]{
            R.drawable.smiley_super_happy,
            R.drawable.smiley_happy,
            R.drawable.smiley_normal,
            R.drawable.smiley_disappointed,
            R.drawable.smiley_sad,
    };

//ACTION ON SWIPE BOTTOM TO TOP & TOP TO BOTTOM

    String message = "";


    switch (direction) {


        case BOTTOM_TO_TOP:
            if (counter < 4) {
                counter++;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);

            } if (counter == 4) {
               counter = 0;
               imagePic.setImageResource(arraySmileys [counter]);
               message = String.valueOf(counter);
            }


            break;


        case TOP_TO_BOTTOM:
            if (counter > 0) {
                counter --;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);

            } if (counter == 0) {
                counter = 4;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);
            }


            break;


    }


    Toast.makeText(this, message, Toast.LENGTH_SHORT).show();


}




}

РАЗРЕШЕНО

 int counter = 0;

// ARRAY OF SMILEYS LIST

int[] arraySmileys = new int[]{
        R.drawable.smiley_super_happy,
        R.drawable.smiley_happy,
        R.drawable.smiley_normal,
        R.drawable.smiley_disappointed,
        R.drawable.smiley_sad,
};



switch (direction) {


        case BOTTOM_TO_TOP:
            if (counter > 0) {
                counter--;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);

            } else {
                counter = 4;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);
            }
            break;


        case TOP_TO_BOTTOM:
            if (counter < 4) {
                counter++;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);

            } else {
                counter = 0;
                imagePic.setImageResource(arraySmileys[counter]);
                message = String.valueOf(counter);
            }
            break;
    }
    Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}

}

...