Зачем setImageResource нужен другой массив для печати изображений и как остаток работает в изображениях? - PullRequest
0 голосов
/ 08 мая 2020
package com.example.imageview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

    public class MainActivity extends AppCompatActivity {
        private static ImageView saadaimageview;
        private static Button saadabutton;
        private static int currentimageindex;
        int[] naviimages = {
            R.drawable.hhsd,
            R.drawable.second,
            R.drawable.third
        };


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            saadaimagelistener();
        }
        public void saadaimagelistener() {
            saadaimageview = (ImageView) findViewById(R.id.ourfirstimage);
            saadabutton = (Button) findViewById(R.id.button);
            saadabutton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    currentimageindex++;
                    currentimageindex = currentimageindex % naviimages.length;
                    saadaimageview.setImageResource(naviimages[currentimageindex]);
                }
            });
        }
    }

Пожалуйста, объясните, пожалуйста, приведенный выше индекс текущего изображения, как это работает?

1 Ответ

2 голосов
/ 08 мая 2020

У вас есть массив чертежей:

int[] naviimages = {
    R.drawable.hhsd,
    R.drawable.second,
    R.drawable.third
};

Каждый раз, когда вы нажимаете на saadButton, currentimageindex увеличивается на 1

currentimageindex++;

значение currentImageIndex возьмите оставшуюся часть currentimageindex, разделенную на длину выдвижного элемента array

currentimageindex = currentimageindex % naviimages.length;

Пример:

currentimageindex = 1; и naviimages.length = 3

тогда:

currentimageindex займет 1 (остальная часть 1/3)

Таким образом, saadaimageview примет R.drawable.hhsd как изображение ресурс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...