使用 setMax 动态设置最大值后,Android SeekBar 不刷新

标签 android seekbar

我正在使用常用的 SeekBar 组件在一组 ViewPagers 中导航,它工作得很好。唯一的问题是,当数据发生变化时,我必须通过 setMax(int value) 动态更改 SeekBar 的最大值。当我这样做时,在我导航到新页面之前,SeekBar 不会更新。我在执行此操作的地方有一个 hacky 修复程序,以强制执行 onProgressChanged:

seekBarVP.setProgress(focusedPage+1);
seekBarVP.setProgress(focusedPage-1);
seekBarVP.setProgress(focusedPage);

有更好的方法吗?

最佳答案

创建 updateThumb(); VerticalSeekbar 中的方法

public void updateThumb(){
     onSizeChanged(getWidth(), getHeight(), 0, 0);
}

设置进度后调用update thumb方法

seekBar.setProgress((int) progress);
seekBar.updateThumb();

它在 verticalseekbar 类中对我有用

关于使用 setMax 动态设置最大值后,Android SeekBar 不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438198/

相关文章:

android - 包 com.unity3d.player 不存在

java - Android 中 ArrayList 的问题

android - 如何在源代码管理下处理 Android Gradle 文件?

java - 在android中录制现有的音频文件

android - Seekbar 未设置 .getLayoutParams().height

java - Android - VerticalSeekBar - onStopTrackingTouch() 不工作

android - 不同设备上的listview空指针异常

java - eekbar.setEnabled(false) 使seekbar不可见

android - 无法解析 setOnSeekBarChangeListener()

android - 如何修复资源未找到异常?