2013-05-27 154 views
1

你能帮我解决这个问题吗?我有一个从URL流,我想在一个TextView显示媒体播放器的currentTime的搜索条,所以,我怎么可以更新的TextView采取currentTime的每一秒MediaPlayer getCurrentPosition()问题

 new Thread(new Runnable() 
     { 
      public void run() 
      { 
       while(mediaPlayer!=null) 
       { 
        seekprogress.setProgress(mediaPlayer.getCurrentPosition()); 
        Message msg=new Message(); 
        int millis = mediaPlayer.getCurrentPosition(); 

        msg.obj=millis/1000; 

        try { 
         Thread.sleep(5000); 
        } 
        catch (InterruptedException e) { 
        e.printStackTrace(); 
        } 
        seekprogress.setProgress(millis); 
       } 
      } 
     }).start(); 
+1

使用一个处理程序,而不是一个线程... – WarrenFaith

回答

1

刚开始使用的AsyncTask像@thiagolr一些示例代码表示

Timer seekBarTimer = new Timer(); 
TimerTask seekbarTimerTask = new TimerTask() { 
    @Override 
    public void run() { 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       // your condition and code here 
       if (seekbar progress changes){ 
        yourTextView.SetText(newString); 
       } 
      } 
     }); 
    } 
}; 
seekBarTimer.scheduleAtFixedRate(seekbarTimerTask, 1000, 1000);