Чтобы изменить изображение и звук массива, нажмите кнопку «Далее» и «Предыдущий» в Android - PullRequest
0 голосов
/ 20 ноября 2018

Я делаю простой на Android, у него есть 5 изображений и 5 звуков, и я создал отдельный массив для них обоих.Я хочу, чтобы при нажатии на следующую кнопку появлялось изображение R.drawable.anp1 и воспроизводился звук R.raw.q1, и снова, когда я нажимал на следующую кнопку, появлялось изображение R.drawable.anp2 и воспроизводилось изображение R.raw.q2 sound.В этом случае мой массив изображений работает отлично, как я хочу, но проблема в том, что мой звук не работает правильно, звук моей следующей кнопки работает хорошо, но когда я возвращаюсь к предыдущей кнопке, то сначала выдается звук следующей кнопки, а затемprevious.

Я хочу как image1=sound1, image2=sound2, image3=sound3, но проблема в том, что когда я нажимаю на кнопку Previous, она выглядит следующим образом image2=sound3, image1=sound2.

Во-вторых, еще одна проблема состоит в том, что когда один цикл завершен, он отключает все звуки, почему?

Если вам известен какой-либо метод, любая логика if-else ИЛИ Switch-case, тогда, пожалуйста, ответьте мне, еслиПомощь будет оценена. Это мой код:

public class Parandegan extends AppCompatActivity {

    private ImageView hImageViewPic;
    private Button iButton,gButton;
    MediaPlayer ourSong;
    private int currentImage = 0;
    public int currentAudio = 0;

    int[] images = { R.drawable.anp1, R.drawable.anp2, R.drawable.anp3, R.drawable.anp4, R.drawable.anp5 };
    int[] audios = { R.raw.q1, R.raw.q2, R.raw.q3, R.raw.q4, R.raw.q5 };

    @Override
    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_parandegan);
        hImageViewPic = findViewById(R.id.idImageViewPic);
        iButton = findViewById(R.id.bIleri);
        gButton = findViewById(R.id.bGeri);
        iButton.setOnClickListener(iButtonChangeImageListener);
        gButton.setOnClickListener(gButtonChangeImageListener); }


    View.OnClickListener iButtonChangeImageListener = new View.OnClickListener() {
        public void onClick(View v) {


                try {
                    currentImage++;
                    currentImage = currentImage % images.length;
                    hImageViewPic.setImageResource(images[currentImage]);
                    ourSong = MediaPlayer.create(Parandegan.this,audios[currentAudio]);
                    currentAudio++;
                    ourSong.start();
                }
                catch (Exception e)
                {

                }
} };



    View.OnClickListener gButtonChangeImageListener = new View.OnClickListener() {
        public void onClick(View v) {

                try {
                    currentImage--;
                    currentImage = (currentImage + images.length) % images.length;
                    hImageViewPic.setImageResource(images[currentImage]);
                    MediaPlayer.create(Parandegan.this,audios[currentAudio]);
                    currentAudio--;
                    ourSong.start();
                }
                catch (Exception e)
                {

                } 
} };



    protected void onPause() {
        super.onPause();
        ourSong.release();
        finish();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...