Доступность Recyclerview ⇐ Android
-
Anonymous
Доступность Recyclerview
Я хочу, чтобы специальные возможности прекращали перемещение элементов представления переработчика, когда следующий элемент отсутствует в представлении экрана.
при смахивании вправо (следующий элемент) это работает, как описано выше. Если видимых элементов представления переработчика нет, происходит переход к следующему элементу доступности, которого нет в представлении переработчика
При пролистывании вправо (предыдущий элемент) это работает не так, как ожидалось. если нет видимых элементов. Представление переработчика прокручивается влево, чтобы показать более видимый элемент. что делает невозможным выход из представления переработчика, поскольку представление переработчика имеет «бесконечный» список элементов.
ссылка на видео
ВОСОЗДАТЬ [*]включить функцию обратной связи [*]проведите пальцем влево или вправо, чтобы просмотреть дерево элементов специальных возможностей. КОД
build.gradle
//включаем привязку представления buildFeatures { viewBinding true } activity_main.xml
MainActivity.kt
класс MainActivity : AppCompatActivity() { привязка lateinit var: ActivityMainBinding переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) привязка = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) с (привязка) { recyclerView.adapter = Адаптер() число значений: Int = Int.MAX_VALUE / 3 / 2 recyclerView.scrollToPosition(число) } } } Адаптер класса: RecyclerView.Adapter() { значение noOfItems = 3 класс ViewHolder (привязка val: ItemBlankBinding): RecyclerView.ViewHolder (binding.root) переопределить удовольствие onCreateViewHolder (родитель: ViewGroup, viewType: Int): ViewHolder { вернуть ViewHolder(ItemBlankBinding.inflate(LayoutInflater.from(parent.context),parent, false)) } переопределить удовольствие getItemCount(): Int { вернуть Integer.MAX_VALUE; } переопределить удовольствие onBindViewHolder(держатель: ViewHolder, позиция: Int) { индекс val = позиция % noOfItems с (holder.binding) { textView.text = index.toString() root.contentDescription = "$index" } } }
Я хочу, чтобы специальные возможности прекращали перемещение элементов представления переработчика, когда следующий элемент отсутствует в представлении экрана.
при смахивании вправо (следующий элемент) это работает, как описано выше. Если видимых элементов представления переработчика нет, происходит переход к следующему элементу доступности, которого нет в представлении переработчика
При пролистывании вправо (предыдущий элемент) это работает не так, как ожидалось. если нет видимых элементов. Представление переработчика прокручивается влево, чтобы показать более видимый элемент. что делает невозможным выход из представления переработчика, поскольку представление переработчика имеет «бесконечный» список элементов.
ссылка на видео
ВОСОЗДАТЬ [*]включить функцию обратной связи [*]проведите пальцем влево или вправо, чтобы просмотреть дерево элементов специальных возможностей. КОД
build.gradle
//включаем привязку представления buildFeatures { viewBinding true } activity_main.xml
MainActivity.kt
класс MainActivity : AppCompatActivity() { привязка lateinit var: ActivityMainBinding переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) привязка = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) с (привязка) { recyclerView.adapter = Адаптер() число значений: Int = Int.MAX_VALUE / 3 / 2 recyclerView.scrollToPosition(число) } } } Адаптер класса: RecyclerView.Adapter() { значение noOfItems = 3 класс ViewHolder (привязка val: ItemBlankBinding): RecyclerView.ViewHolder (binding.root) переопределить удовольствие onCreateViewHolder (родитель: ViewGroup, viewType: Int): ViewHolder { вернуть ViewHolder(ItemBlankBinding.inflate(LayoutInflater.from(parent.context),parent, false)) } переопределить удовольствие getItemCount(): Int { вернуть Integer.MAX_VALUE; } переопределить удовольствие onBindViewHolder(держатель: ViewHolder, позиция: Int) { индекс val = позиция % noOfItems с (holder.binding) { textView.text = index.toString() root.contentDescription = "$index" } } }
Мобильная версия