我有一个应用程序,当移动搜索栏(手动)时应该做一些事情。但是,onProgressChanged永远不会执行,即使我确保在移动条形图时进度值确实发生了变化。
onStartTrackingTouch和onStopTrackingTouch都会被解雇而不会出现任何问题。
public class MainActivity extends ActionBarActivity implements OnSeekBarChangeListener{
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
seekBar.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
...
}
答案 0 :(得分:0)
我遇到类似的问题,onProgressChanged()
没有被解雇,但{{1}}和onStartTrackingTouch()
没有这样的问题。
在我的情况下,用户在重新进入活动页面后无法拖动搜索栏,它会随机发生。
这是因为onStopTrackingTouch()
内的mediaControl.seek()
代码被卡住了。我修复它的方法是确保分配的mediaControl对象是具有有效持续时间的最新对象(即onProgressChanged()
' s mediaControl.getDuration()
!= 0L)。
因此,如果您遇到类似问题,请先检查onSucces()
内的对象,该对象可能出错了。