Как центрировать выбранный элемент внутри горизонтального вида recyclerview?

У меня есть recylerview с arrayList, который содержит весь день недели. Когда я нажимаю, чтобы выбрать день, отображается recyclerview. Затем уже выбран третий день недели (по умолчанию). Мне нужно центрировать его в recyclerview, а затем, когда я выбрал другой день в своем recycler, ему нужно снова центрировать выбранный элемент. Это мой код:

        val recyclerViewGiorni = view.giorniRV
        val horizontalLayoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
        recyclerViewGiorni.layoutManager = horizontalLayoutManager
        adapter = ButtonPromemoriaAdapter(giorniPromemoria)
        recyclerViewGiorni.adapter = adapter
        val snapHelper = LinearSnapHelper()
        snapHelper.attachToRecyclerView(recyclerViewGiorni)
        recyclerViewGiorni.addOnScrollListener(object : RecyclerView.OnScrollListener() {

            override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
                super.onScrollStateChanged(recyclerView, newState)
                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
                    val centerView = snapHelper.findSnapView(horizontalLayoutManager)
                    val pos = horizontalLayoutManager.getPosition(centerView!!)
                    Log.e("Snapped Item Position:", "" + pos)
                }
            }
        })
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
1 237
1

Ответы 1

Я думаю, вы ищете SpanHelper

SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(yourRecyclerView);

Пожалуйста, посмотрите на

для получения дополнительной информации.

Другие вопросы по теме