2016-06-11 9 views
-2

写真の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(); 


} 
} 
+0

要件とかなりの説明できないコードが掲載されていますが、質問はしていません。私たちがあなたを助ける方法を知るためにこれを修正してください。あなたのコードに何が問題なのですか?具体的にあなたを混乱させるものは何ですか? [ツアー]、[ヘルプ]、[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)セクションを見て、この質問を改善する方法と将来の質問。 –

答えて

0

うーんスライドショーを作成しようとしているならば、あなたは彼らがこのように見えるビューページャに見たいと思うかもしれません:

enter image description here

ビューポケベルが高度にカスタマイズされている、あなたは追加することができますボタンと画像、そしてフラグメントが各画面に保持できるほとんどすべてのものがあります。あなたのスキルレベルが何であるか分かりませんが、これを動作させるために必要なことをあなたに教えてください。

  1. ビューポケットベルを含むレイアウトを作成します。
  2. あなたが異なる「スクリーン」
  3. 、あなたのユーザーを表示したい画面ごとの断片を拡張するクラスを作成しますを定義し、これがある(
  4. オーバーライドのgetItem()メソッドアダプタでFragmentPagerAdapterを拡張するクラスを作成します。 。このようにそれをやって

uはちょうど(ユーザーが次]または[前をクリックしたとき)のページを変更するにはsetCurrentItemを呼び出す必要があります画面を切り替えるために

--edit--

明らかにImageSwitcherというものもあります。 これらは次のようになります。 enter image description here

実際には画像が必要なので、これは実際にはケースに適しています。ビューページャーよりも実装がはるかに容易に見えます。これは実装方法を説明しています:http://www.tutorialspoint.com/android/android_imageswitcher.htm

関連する問題