我的自定义列表视图中有一个搜索栏。现在我不希望该用户手动更改搜索栏进度。所以我必须做什么?
如何删除用户与SeekBar交互的能力......
答案 0 :(得分:3)
在您将所需的值设置为setEnabled(false)
SeekBar
停用搜索栏
答案 1 :(得分:2)
ccheneson's solution有效,但它也会改变搜索栏的颜色。 如果你想使用搜索栏保留当前的亮绿色,请使用以下代码(也可以在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);
}
}
});
}
答案 2 :(得分:2)
setEnabled(false)
有效,但遗憾的是由于某种原因改变了自定义搜索栏背景。
对我来说这是一个问题,所以我用这种方式:
seekProgress.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
return true;
}
});