Вы не можете сказать переработчику, чтобы он прекратил загружать новые предметы, приходящие сверху.
В любом случае, представление переработчика вызовет onBindViewHolder
, и именно в этой функции вы должны настроить свой элемент.
Что вы можете сделать, это определить, загружен ли текущий элемент(задается onBindViewHolder
) идет снизу или сверху.
Вот идея того, что я имею в виду:
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder>
{
private int mLowestPosition = -1;
...
public CustomAdapter(...)
{
...
}
@Override
public CustomAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
...
}
@Override
public void onBindViewHolder(ViewHolder iHolder, int iPosition)
{
if (iPosition > mLowestPosition)
{
// All item coming from the bottom for their first time will pass here.
// Bind your view here
mLowestPosition = iPosition;
}
}
}
Если вы хотите повторно использовать данные, исчезающие снизу при прокрутке вверх, вы можете получить их, переопределив onViewRecycled
Источники:
https://stackoverflow.com/a/26748274/5384689
RecyclerView.Adapter.onViewRecycled ()