Проблемы с изменением размера и видимости адаптера RecyclerView Adapter

Модуль инкапсулирует связанный код в единую единицу кода. При создании модуля это можно интерпретировать как перемещение всех связанных функций в файл.

Предположим, что есть файл Hello.js, который включает в себя две функции

sayHelloInEnglish = function() {
  return "Hello";
};
sayHelloInSpanish = function() {
  return "Hola";
};

. Мы пишем функцию только тогда, когда полезность кода имеет более одного вызова.

Предположим, что мы хотим повысить полезность функции в другом файле, скажем World.js, в этом случае экспортируется файл, который может быть получен с помощью module.exports.

Вы можете просто экспортировать оба функция по приведенному ниже коду

var anyVariable={
 sayHelloInEnglish = function() {
      return "Hello";
    };
  sayHelloInSpanish = function() {
      return "Hola";
    }; 
}
module.export=anyVariable;

Теперь вам нужно просто потребовать, чтобы имя файла в World.js inorder использовало эти функции

var world= require("./hello.js");
0
задан martinseal1987 13 July 2018 в 12:52
поделиться

1 ответ

Эта проблема RecyclerView, когда элементы изменяются, по-видимому, случайным образом, когда прокрутка обычно связана с настройкой характеристик элемента в неправильном месте.

A RecyclerView будет повторно использовать создаваемые для него держатели представлений (это часть recycle ), поэтому держатель вида для позиции 10, допустим, может быть повторно использован для элемента в позиции 0. Если характеристики не изменены на то, что они должны быть, когда держатель вида bound , тогда результаты могут быть неожиданными. Другими словами, вид, видимый в позиции 10, также будет виден, когда держателю вида назначено положение 0.

0
ответ дан Cheticamp 17 August 2018 в 12:49
поделиться
  • 1
    Это интересно, где я должен их настраивать, возможно, использовать переплет? – martinseal1987 13 July 2018 в 13:04
  • 2
    @ martinseal1987 Да, в onBindViewHolder(). Именно там данные присваиваются держателям вида. – Cheticamp 13 July 2018 в 13:06
  • 3
    ОК, извините, это то, что я делаю прямо сейчас, я подумал, что использую библиотеку привязки данных, но я думаю, что это будет просто обертывание связующего вида в виде связующего – martinseal1987 13 July 2018 в 13:10
  • 4
    oh на самом деле, поэтому мне нужно сначала установить все на видимое в начале связующего, чтобы убедиться, что первое состояние в порядке – martinseal1987 13 July 2018 в 13:11
  • 5
    @ martinseal1987 Если данные влияют на видимость представления, вам нужно будет установить видимость в onBindViewHolder() для первоначального назначения и всех последующих назначений. – Cheticamp 13 July 2018 в 13:16
Другие вопросы по тегам:

Похожие вопросы: