int preMin = -1;
int preMax = -1;
final RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(this);
seekBar.setRangeValues(0, 100);
//setNotifyWhileDragging is important method to achive this functionality
seekBar.setNotifyWhileDragging(true);
seekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() {
@Override
public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
int diff = maxValue - minValue;
if (diff == 39 || diff < 40) {
bar.setEnabled(false);
if(minValue != preMin){
seekBar.setSelectedMinValue(preMin);
}
else if(maxValue != preMax){
seekBar.setSelectedMaxValue(preMax);
}
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setNegativeButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
seekBar.setEnabled(true);
}
});
alert.setCancelable(false);
alert.setMessage(Html.fromHtml("You cant move below 40!!")).show();
} else {
preM`enter code here`in = minValue;
preMax = maxValue;
}
}
});