gpt4 book ai didi

java - 如何在拖动搜索栏时更新 TextView

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:52 25 4
gpt4 key购买 nike

在这里你可以看到我想要实现的目标

/image/RBIUD.jpg

第一个 gif 是我现在拥有的,第二个是我想要得到的。

代码有效,但显示歌曲当前位置的 TextView 仅在我停止拖动时更新,但我希望它在拖动时更新。

查看我在链接中发布的 gif,以便您了解我想要实现的目标。

提前致谢,

文斯

更新进度条();当我改变歌曲时调用

我的代码

private Runnable mUpdateTime = new Runnable() {
@Override
public void run() {
long songCurrentTime = mediaPlayer.getCurrentPosition();
long songTotalTime = mediaPlayer.getDuration();

tvSongCurrentTime.setText(""+utilities.msToTimer(songCurrentTime));
tvSongTotalTime.setText(""+utilities.msToTimer(songTotalTime));

int progress = (int)(utilities.getProgressPercentage(songCurrentTime, songTotalTime));
seekBar.setProgress(progress);

mHandler.postDelayed(this, 100);
}
};

public void updateProgressBar(){
mHandler.postDelayed(mUpdateTime, 100);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean
fromUser) {

}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mHandler.removeCallbacks(mUpdateTime);
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
mHandler.removeCallbacks(mUpdateTime);
int songTotalTime = mediaPlayer.getDuration() ;
int currentPosition = utilities.progressToTimer(seekBar.getProgress(),
songTotalTime);

mediaPlayer.seekTo(currentPosition);
updateProgressBar();
}

最佳答案

您应该在“onProgressChanged”方法中执行此操作。像这样:

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean
fromUser) {
if(fromUser)
//myTextView.setText("" + progress);
updateProgressBar();
}

关于java - 如何在拖动搜索栏时更新 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51604211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com