SeekbarでEditTextを調整しようとすると問題が発生します。 シークバーを最小値= 0で起動すると、完全に動作します。 しかし、最小値を変更しても機能しません!誰でも助けてくれますか?SeekBar/EditTextインターラクションでエラーが発生する
private void bindElements(){
final int SEEKBAR_SIZE_CORRECTION = 200;
final int SEEKBAR_MAX_SIZE = 1000;
// 10000 Change to object max value
int correctMax = SEEKBAR_MAX_SIZE - SEEKBAR_SIZE_CORRECTION;
mEtValue = (EditText) findViewById(R.id.et_value);
mEtValue.setFilters(new InputFilter[] { new InputFilter.LengthFilter(SEEKBAR_MAX_SIZE) });
mEtValue.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//3 is the length of SEEKBAR_SIZE_CORRECTION (2 0 0)
if (s.toString().length() == 3) {
//200 is the text of SEEKBAR_SIZE_CORRECTION
s = new SpannableStringBuilder("200");
}
mSbValue.setProgress(Integer.parseInt(String.valueOf(s)));
}
@Override
public void afterTextChanged(Editable s) {
}
});[![enter image description here][1]][1]
mSbValue = (SeekBar) findViewById(R.id.sb_value);
mSbValue.setMax(correctMax);
mSbValue.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progress += SEEKBAR_SIZE_CORRECTION;
if (mEtValue != null) {
mEtValue.setText(String.valueOf(progress));
mEtValue.setSelection(mEtValue.getText().length());
}
}
});
}
ありがとうございます!
を試してみてください? – sJy
私はそれをスライドすると、edittextの値が変化し、その逆も同様です。 –