Java 如何使用“下一步”和“上一步”按钮控件制作带有声音的幻灯片放映

Java 如何使用“下一步”和“上一步”按钮控件制作带有声音的幻灯片放映,java,android,Java,Android,我想在图片中播放从0到9的数字的幻灯片。当我单击“下一步”按钮时,显示1的图片并以“一”的形式播放声音,依此类推。我希望上一个按钮能够正常工作。。就像我点击上一个按钮,然后转到上一张图片,播放与该图片相关的声音 public class Numbers extends Activity { int i = 1; private ImageView iv; Button next; Button previous; MediaPlayer ourSong; private int currentI

我想在图片中播放从0到9的数字的幻灯片。当我单击“下一步”按钮时,显示1的图片并以“一”的形式播放声音,依此类推。我希望上一个按钮能够正常工作。。就像我点击上一个按钮,然后转到上一张图片,播放与该图片相关的声音

public class Numbers extends Activity {
int i = 1;
private ImageView iv;
Button next;
Button previous;
MediaPlayer ourSong;
private int currentImage = 0;
public int currentAudio = 0;



int[] images = { R.drawable.p1, R.drawable.p2, R.drawable.p3,
    R.drawable.p4, R.drawable.p5, R.drawable.p6, R.drawable.p7,
    R.drawable.p8, R.drawable.p9, R.drawable.p10};
int[] audios = { R.raw.a1, R.raw.a2, R.raw.a3, R.raw.a4, R.raw.a5,
    R.raw.a6, R.raw.a7, R.raw.a8, R.raw.a9, R.raw.a10};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nextpre);

iv = (ImageView) findViewById(R.id.ivn);
next = (Button) findViewById(R.id.buttonn);
previous = (Button) findViewById(R.id.buttonp);
// Just set one Click listener for the image

next.setOnClickListener(iButtonChangeImageListener);
previous.setOnClickListener(gButtonChangeImageListener);

}
View.OnClickListener iButtonChangeImageListener = new View.OnClickListener()      {

public void onClick(View v) {
    try {
        // Increase Counter to move to next Image
        currentImage++;

        currentImage = currentImage % images.length;

        iv.setImageResource(images[currentImage]);



        ourSong = MediaPlayer.create(Numbers.this,
                audios[currentAudio+1]);

        ourSong.start();
        currentAudio++;
    } catch (Exception e) {

    }

}

};

View.OnClickListener gButtonChangeImageListener = new View.OnClickListener()    {

public void onClick(View v) {
    try {
        // Decrease Counter to move to previous Image
        currentImage--;

        currentImage = (currentImage + images.length) % images.length;

        iv.setImageResource(images[currentImage]);

        MediaPlayer.create(Numbers.this, audios[currentAudio]);
        ourSong.start();
        currentAudio--;

    } catch (Exception e) {

    }
}
};

protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
ourSong.release();
finish();
   }

     @Override
 protected void onStart() {
super.onStart();
ourSong = MediaPlayer.create(Numbers.this,
        audios[0]);

ourSong.start();


}
}

嗯,如果你想做一个幻灯片放映,你可能想看一下视图传呼机,它们看起来像这样:

视图寻呼机是高度可定制的,您可以添加按钮和图像,以及几乎任何片段可以在每个屏幕上保存的内容。我不知道你的技能水平如何,但我会告诉你这项工作需要做些什么

  • 创建包含视图寻呼机的布局
  • 创建一个扩展FragmentPagerAdapter的类
  • 重写适配器中的getItem()方法(这是定义不同“屏幕”的地方)
  • 创建一个类,该类为要向用户显示的每个屏幕扩展片段
  • 这样做,为了切换屏幕,您只需调用setCurrentItem来更改页面(当用户单击next或prev时)

    --编辑--

    显然还有一种叫做图像切换器的东西。 它们看起来像这样:


    这实际上更适合您的情况,因为您只需要图像。它看起来比视图寻呼机更容易实现。这说明了如何实现它:

    您已经发布了要求和大量无法解释的代码,但没有提出任何问题。请修复此问题,以便我们知道如何帮助您。您的代码有什么问题?具体是什么盟友混淆了你?考虑通过,和部分,看看你能如何改善这个问题和你的未来问题。