Отображение пунктов переработки один за другим, а не все после загрузки - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть список с несколькими объектами и пользовательским адаптером.

ExampleAdapter adapter = new ExampleAdapter((ArrayList<MatchItem>) outputList, GamesActivity.this);
recyclerView.setAdapter(adapter);

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

Я не уверен, нужно ли создавать адаптер, чтобы он принимал в качестве параметра только один элемент за раз и обновлял данные после каждого добавленного элемента.

Я заполняю список в asyn c задаче и устанавливаю адаптер в методе post execute

1 Ответ

0 голосов
/ 23 апреля 2020

Вместо того, чтобы передавать список конструктору адаптера, попробуйте добавить метод в адаптер, который принимает один элемент за раз, а затем заполняет список в адаптере:

public class ExampleAdapter extends......{

private List< MatchItem > list = new ArrayList<MatchItem>();

public ExampleAdapter(GamesActivity.this){


}

//this method will accept items one by one
public void addNewItem(MatchItem item){

list.add(item);

this.notifyDataSetChanged();

}

}

И начните передавать предметы один за другим, когда предмет будет готов

//put these as a one time thing
ExampleAdapter adapter = new ExampleAdapter(GamesActivity.this);
recyclerView.setAdapter(adapter);

//when you read items
adapter.addNewItem(item);
...