Операция модуля для индекса массиваJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Операция модуля для индекса массива

Сообщение Anonymous »

У меня есть руководство по использованию кнопки для переключения некоторых изображений, и вот код

Код: Выделить всё

public class MainActivity extends AppCompatActivity {

private static ImageView andro;
private static Button buttonswitch;

int current_image_index = 0;
int[] images = {
R.mipmap.andro_img,
R.mipmap.apple_image,
R.mipmap.ic_launcher,
R.mipmap.ic_launcher_round
};

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

public void buttonClick() {
andro = (ImageView) findViewById(R.id.imageView);
buttonswitch = (Button) findViewById(R.id.button);
buttonswitch.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
current_image_index++;
current_image_index = current_image_index % images.length;
andro.setImageResource(images[current_image_index]);
}
});
}
}
Я сильно запутался в этой части:

Код: Выделить всё

@Override
public void onClick(View view) {
current_image_index++;
current_image_index = current_image_index % images.length;
andro.setImageResource(images[current_image_index]);
}
Я понимаю, что как только я нажму кнопку, int current_image_index увеличится на 1. Затем модуль current_image_index с images.length, остаток которого от current_image_index будет делиться на изображение .длина. Например, в первый раз у меня будет current_image_index = 0, затем после щелчка он будет равен 1, затем current_image_index % image.length = 0. Затем andro.setImageResource(images[0]);
это будет повторяться снова и снова, поскольку current_image_index остается равным 0. Тогда как изображение может постоянно меняться после щелчка по нему, поскольку current_image_index % image.length всегда будет давать результат 0.


Подробнее здесь: https://stackoverflow.com/questions/447 ... rray-index
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»