2012-07-17 21 views
-1

我爲我的最後一年項目創建了一個Android音樂播放器。它具有基本功能,如播放,下一首,上一首,還有一個滾動條以從播放列表中選擇歌曲。如何在我爲android創建的音樂播放器中使用RatingBar?

我想使用評級欄來允許用戶設置歌曲的評分,但是如果我爲1首歌曲設置評分,然後從播放列表中選擇另一首歌曲,也會爲該歌曲設置相同的評分

如何讓它爲不同的歌曲設置不同的評分?

+0

聽起來就像你在重複使用View ...你可以發佈一些代碼和/或給出更多的細節,以瞭解評級欄在哪裏以及在哪裏/何時設置它的價值? – 2012-07-17 14:13:53

+0

需要看到一些代碼才能正確回答... – Shine 2012-07-17 14:18:57

+0

謝謝你的時間。我要發貨... – maestrosan11 2012-07-28 06:20:31

回答

0

當歌曲改變時是否有回調?基本上,我們需要看到一些代碼,但是您希望將評分重新設置回2星,或默認的恆星數量。然後,您將希望使用OnRatingBarChange將收視率保存到數據庫。看起來,「MediaPlayer」類有一個OnCompletionListener來告訴一個曲目何時完成。

RatingBar ratingBar = (RatingBar)view.findViewById(R.id.ratingbar); 
RatingBar.OnRatingBarChangeListener barListener = 
    new RatingBar.OnRatingBarChangeListener() { 
      public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) { 
       // Do your database stuff here 
      } 

     }    

,然後你對onCompletion

//mp is the reference to your media player 
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {   
     public void onCompletion(MediaPlayer mp) { 
      // Do what you need to do to reset the rating bar. Might need to make a public reference or create a way for this inner class to access the rating bar. 

     }   
    }); 
+0

我以爲我需要一個數據庫。我不想使用數據庫,所以我想我會放過這個。 – maestrosan11 2012-07-28 06:19:01

0

我想的東西,評價欄的速度設置爲默認值時,有一首歌變化,OnClickListener上一個和下一個你的活動。

ratingbar.setRating(3); //For three stars 

並保存歌曲的速度與OnRatingBarChange

相關問題