Как использовать только один слушатель для нескольких слайдеров (Android)? - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу использовать этот Жидкостный слайдер в моем приложении для Android, и я хочу 5 из них

если я добавлю разных слушателей для всех 5, тогда код станет очень большим. Пожалуйста, посмотрите и посмотрите, могут ли несколько ползунков использовать только один метод setPositionListner, используя регистр переключателя или любым другим способом.

Ниже приведен код для одного ползунка жидкости. Первые 2 метода используются, чтобы скрыть текст позади и снова показать его, а последний используется, чтобы найти текущую позицию ползунка.

public class MainActivity extends AppCompatActivity {

@SuppressWarnings("Convert2Lambda")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final TextView textView = findViewById(R.id.textView);

    final int max = 45;
    final int min = 10;
    final int total = max - min;

    final FluidSlider slider = findViewById(R.id.fluidSlider);
    slider.setBeginTrackingListener(new Function0<Unit>() {
        @Override
        public Unit invoke() {
            textView.setVisibility(View.INVISIBLE);
            return Unit.INSTANCE;
        }
    });

    slider.setEndTrackingListener(new Function0<Unit>() {
        @Override
        public Unit invoke() {
            textView.setVisibility(View.VISIBLE);
            return Unit.INSTANCE;
        }
    });

    // Java 8 lambda
    slider.setPositionListener(pos -> {
        final String value = String.valueOf( (int)(min + total * pos) );
        slider.setBubbleText(value);
        return Unit.INSTANCE;
    });


    slider.setPosition(0.3f);
    slider.setStartText(String.valueOf(min));
    slider.setEndText(String.valueOf(max));
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...