2017-05-10 2 views
0

アダプタのListViewで再生中の現在のトラックのTextViewを設定しようとしています。 TextViewの位置が間違っていると、リスト内の最後のTextViewに常にテキストが設定されます。これが私のやり方です。TextViewは常にリスト内の最後のテキストビューのテキストを設定しています

public void startPlayProgressUpdater(final SeekBar seek, final Button start) { 
    seek.setProgress(mediaPlayer.getCurrentPosition()); 


    if (mediaPlayer.isPlaying()) { 
     Runnable notification = new Runnable() { 
      public void run() { 
       startPlayProgressUpdater(seek,start); 

       currentTime.setText(getTimeString(mediaPlayer.getDuration() - mediaPlayer.getCurrentPosition())); 


      } 
     }; 
     handler.postDelayed(notification, 1000); 
    } else { 
     mediaPlayer.pause(); 
     seek.setProgress(0); 
    } 
} 
+0

アダプターの 'getView'メソッドでこれを行いますか?それはあなたがそれをやるべきところです。 –

答えて

0

は、ここに私のコード

private Runnable updateSongTime = new Runnable() { 
     public void run() { 
      startTime = mediaPlayer.getCurrentPosition(); 
      playTime.setText(String.format("%02d:%02d/%02d:%02d", 
          TimeUnit.MILLISECONDS.toMinutes((long) startTime), 
          TimeUnit.MILLISECONDS.toSeconds((long) startTime) - 
            TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS. 
              toMinutes((long) startTime)), 
          TimeUnit.MILLISECONDS.toMinutes((long) finalTime), 
          TimeUnit.MILLISECONDS.toSeconds((long) finalTime) - 
            TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS. 
              toMinutes((long) finalTime))) 
      ); 
      seekBar.setProgress((int)startTime); 
      if(mediaPlayer.isPlaying()) 
       myHandler.postDelayed(this, 100); 
     } 
    }; 

と私のプレイボタン

play.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(mediaPlayer.isPlaying()){ 
        play.setBackgroundResource(R.drawable.ic_action_play); 
        mediaPlayer.pause(); 
       } 
       else { 
        mediaPlayer.start(); 
        finalTime = mediaPlayer.getDuration(); 
        startTime = mediaPlayer.getCurrentPosition(); 

        seekBar.setMax((int) finalTime); 

        seekBar.setProgress((int) startTime); 
        myHandler.postDelayed(updateSongTime, 100); 
        play.setBackgroundResource(R.drawable.ic_action_pause); 
       } 
      } 
     }); 

それはあなたを助けかどうかを確認しています。

Ankit

関連する問題