2012-07-17 3 views
-1

나는 내년 프로젝트를 위해 안드로이드 용 뮤직 플레이어를 만들었습니다. 그것은 놀이, 다음, 이전 및 재생 목록에서 노래를 선택하기위한 스크롤 막대와 같은 기본 기능을 가지고 있습니다.안드로이드 용으로 만든 내 음악 플레이어에서 RatingBar를 사용하는 방법은 무엇입니까?

등급 표시 줄을 사용하여 사용자가 노래 등급을 설정하도록하고 싶지만 1 곡에 대한 등급을 설정 한 다음 재생 목록에서 다른 노래를 선택하면 해당 노래에 대해서도 동일한 등급이 설정됩니다.

다른 노래에 대해 다른 등급을 설정하려면 어떻게해야합니까?

+0

보기를 재사용하는 것과 같은 소리 ... 코드를 게시하고 등급 표시 줄의 위치 및 값을 설정하는 위치/시간에 대한 자세한 정보를 제공 할 수 있습니까? –

+0

제대로 대답 할 수있는 몇 가지 코드가 필요합니다 ... – Shine

+0

시간 내 주셔서 감사합니다. 나는 이것을 보낼거야 ... – maestrosan11

답변

0

노래가 변경 될 때 콜백이 있습니까? 기본적으로, 우리는 몇 가지 코드를 볼 필요가 있지만, 등급을 별 2 개로 다시 설정하거나 별의 기본 개수가 무엇이든간에 다시 설정하려고합니다. 그런 다음 OnRatingBarChange을 사용하여 등급을 데이터베이스에 저장해야합니다. "MediaPlayer"클래스는 트랙이 끝났을 때 알려주는 OnCompletionListener을 가지고있는 것으로 보입니다. 내가 생각하는 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

나는 이것을 위해 데이터베이스가 필요할 것이라고 생각했다. 나는 databse를 사용하고 싶지 않다. 그래서 나는 이것을 그냥 놓아 두겠다. – maestrosan11

0

에 대한

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 
      } 

     }    

다음 물건에 노래 변화, OnClickListener가있을 때 기본 값으로 평가 바의 속도를 설정 이전 및 활동에 다음.

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

OnRatingBarChange으로 노래의 속도를 저장하십시오.