2015-06-15 62 views
2

我在Android上創建了一個應用程序,用於查看帶有聲音的圖像,當我選擇下一個按鈕來顯示新圖像和後退按鈕以顯示前一圖像但是當按下下一個按鈕到最大索引,我希望它顯示從第一個圖像索引開始,當按下後退按鈕到最小索引時,我希望它顯示從最大圖像索引開始。我有問題,當我點擊返回按鈕去0索引我想它顯示最終索引的圖像,當我點擊下一個按鈕去最終索引我希望它顯示從0索引。 但是當我點擊後退按鈕沒有發生所以我有後退按鈕做Android:我的後退按鈕出現問題

public void btn_click(View v){ 
if (v == btn_next){ 
     if((IMAGE_IDS.length)> currentimageindex){ 
      try{ 
      imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
       mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
       mp.start(); 
       currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
       currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
      } 
     catch(Exception e){ 
     Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
      } 
      } 
      if((IMAGE_IDS.length)== currentimageindex){ 
       try{ 
        imageview.setImageResource(IMAGE_IDS[currentimageindex=0]); 
         mp = MediaPlayer.create(this, myMusic[currentsoundindex=0]); 
         mp.start(); 
         currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
         currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
        } 
       catch(Exception e){ 
       Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
        }     
      } 
    if (v == btn_back) { 
     if(currentimageindex!=0){ 
      try{ 
      imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
       mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
       mp.start(); 
        currentimageindex = (currentimageindex + IMAGE_IDS.length -1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + myMusic.length -1) % myMusic.length; 
      } 
     catch(Exception e){ 
     Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
      } 
      } 
     if((currentimageindex)==0){ 
      try{ 
        imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
        mp.start();     
        currentimageindex = (currentimageindex + IMAGE_IDS.length -1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + myMusic.length -1) % myMusic.length; 
       } 
      catch(Exception e){ 
       Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
        } 
      } 
     } 

回答

1

如果我們正確地縮進它,我們得到了這一點;

public void btn_click(View v) { 
     if (v == btn_next) { 
      if ((IMAGE_IDS.length) > currentimageindex) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
        mp.start(); 
        currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
      if ((IMAGE_IDS.length) == currentimageindex) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex = 0]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex = 0]); 
        mp.start(); 
        currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
      if (v == btn_back) { 
       if (currentimageindex != 0) { 
        try { 
         imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
         mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
         mp.start(); 
         currentimageindex = (currentimageindex + IMAGE_IDS.length - 1) % IMAGE_IDS.length; 
         currentsoundindex = (currentsoundindex + myMusic.length - 1) % myMusic.length; 
        } catch (Exception e) { 
         Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
        } 
       } 
       if ((currentimageindex) == 0) { 
        try { 
         imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
         mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
         mp.start(); 
         currentimageindex = (currentimageindex + IMAGE_IDS.length - 1) % IMAGE_IDS.length; 
         currentsoundindex = (currentsoundindex + myMusic.length - 1) % myMusic.length; 
        } catch (Exception e) { 
         Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
        } 
       } 
      } 

它看起來像你,如果v == btn_back檢查您v == btn_next語句中。您需要關閉您的v == btn_next聲明,如下所示:

public void btn_click(View v) { 
     if (v == btn_next) { 
      if ((IMAGE_IDS.length) > currentimageindex) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
        mp.start(); 
        currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
      if ((IMAGE_IDS.length) == currentimageindex) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex = 0]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex = 0]); 
        mp.start(); 
        currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
     } 
     if (v == btn_back) { 
      if (currentimageindex != 0) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
        mp.start(); 
        currentimageindex = (currentimageindex + IMAGE_IDS.length - 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + myMusic.length - 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
      if ((currentimageindex) == 0) { 
       try { 
        imageview.setImageResource(IMAGE_IDS[currentimageindex]); 
        mp = MediaPlayer.create(this, myMusic[currentsoundindex]); 
        mp.start(); 
        currentimageindex = (currentimageindex + IMAGE_IDS.length - 1) % IMAGE_IDS.length; 
        currentsoundindex = (currentsoundindex + myMusic.length - 1) % myMusic.length; 
       } catch (Exception e) { 
        Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }