根据EditText值更改SeekBar进度

我试图根据在EditText输入的数字来更改SeekBar的进度但由于某种原因, EditText值达到最大值,我无法在SeekBar滑动拇指。

我想要实现的目标:如果在EditText输入的值在70到190之间(包括两个数字),则将SeekBar的进度更改为该值。

部分Java代码:

 etOne = (EditText) findViewById(R.id.etSyst); etOne.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { String filtered_str = s.toString(); if (Integer.parseInt(filtered_str) >= 70 && Integer.parseInt(filtered_str) <= 190) { sbSyst.setProgress(Integer.parseInt(filtered_str)); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} }); 

部分XML:

  

我为每个值添加70,因为SeekBar从0开始,但我希望它从70开始。

使用上面的代码后,它是这样的:

在此处输入图像描述

SeekBar处于最大数量, EditText也处于最大值。

 etOne = (EditText) findViewById(R.id.etSyst); etOne.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { int i = Integer.parseInt(s.toString()); if (i >= 70 && i <= 190) { sbSyst.setProgress( i - 70); // This ensures 0-120 value for seekbar } } public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} });