我的自定义列表视图中有一个搜索栏。现在我不希望该用户手动更改搜索栏进度。那我该怎么办?
如何删除用户与 SeekBar 交互的能力...
setEnabled(false)
在您将所需的值设置为SeekBar
ccheneson 的解决方案有效,但它也改变了搜索栏的颜色。如果您想使用搜索栏保留当前的亮绿色,请使用以下代码(也可以在 stackoverflow 上找到。谢谢!所以,只是参考)
private void makeSeekbarUnchanable(ViewHolder holder) {
holder.barRating.setOnSeekBarChangeListener( new OnSeekBarChangeListener() {
int originalProgress;
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//Nothing here..
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
originalProgress = seekBar.getProgress();
}
@Override
public void onProgressChanged(SeekBar seekBar, int arg1, boolean fromUser) {
if( fromUser == true){
seekBar.setProgress( originalProgress);
}
}
});
}
setEnabled(false)
有效,但不幸的是由于某种原因更改了自定义搜索栏背景。
这对我来说是个问题,所以我使用了这种方式:
seekProgress.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
return true;
}
});