¿Cómo establecer el primer valor del proceso Seekbar es asignar el valor inicial del segundo Seekbar en Android?
Tengo dos barras de búsqueda. Quiero establecer el primer valor del proceso de Seekbar es asignar el valor inicial de la segunda Seekbar. Mi requisito exacto es, quiero cubrir de 0 a 100 con tres barras de búsqueda. Ej: Si FirstSeekBar cubre de 1 a 30, la segunda barra de búsqueda comienza automáticamente de 30 a 100. si configuro el valor de proceso 60 en la segunda barra de búsqueda, la tercera barra de búsqueda comienza automáticamente de 60 a 100. Por favor ayúdame a resolver este problema.
activity.xml
<SeekBar
android:id="@+id/firstSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"/>
<SeekBar
android:id="@+id/secondSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<SeekBar
android:id="@+id/thirdSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
SeekBarActivity.java
firstSeekBar.setOnSeekBarChangeListener(
new SeekBar.OnSeekBarChangeListener() {
int firstPgrValue;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
firstPgrValue = progress;
secondSeekBar.setEnabled(true);
txtFirstSeek.setText("First (" + progress + " / " + firstSeekBar.getMax() + ")");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
shortMessage(MainActivity.this, "Progress Start");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (firstPgrValue == 0) {
secondSeekBar.setEnabled(false);
redSeekBar.setEnabled(false);
}
txtFirstSeek.setText("First (" + firstPgrValue + " / " + firstSeekBar.getMax() + ")");
shortMessage(MainActivity.this, "Progress Stopped");
}
}
);
secondSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int secondPgrValue;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
secondPgrValue = progress;
thirdSeekBar.setEnabled(true);
txtSecondSeek.setText("Second (" + progress + " / " + secondSeekBar.getMax() + ")");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
shortMessage(MainActivity.this, "Progress Start");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (secondPgrValue == 0) {
thirdSeekBar.setEnabled(false);
}
txtSecondSeek.setText("Second (" + secondPgrValue + " / " + secondSeekBar.getMax() + ")");
shortMessage(MainActivity.this, "Progress Stopped");
}
});
thirdSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int thirdPsrValue;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
thirdPsrValue = progress;
txtRedSeek.setText("Third (" + progress + " / " + redSeekBar.getMax() + ")");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
shortMessage(MainActivity.this, "Progress Start");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
txtThirdSeek.setText("Third (" + thirdPsrValue + " / " + thirdSeekBar.getMax() + ")");
shortMessage(MainActivity.this, "Progress Stopped");
}
});