Как получить количество элементов RecyclerView? - PullRequest
1 голос
/ 11 февраля 2020

Эй, у меня есть список переработчиков как эпизод 1, эпизод 2, эпизод3, ... как посчитать общий элемент и установить как текстовое представление как текущий episode = episode(total items)

вот мой адаптер

public class EpisodeAdapter  extends  RecyclerView.Adapter<EpisodeAdapter.EpisodeHolder>{
    private List<Episode> episodeList;
    public EpisodeAdapter(List<Episode> episodeList) {
        this.episodeList = episodeList;
    }
    @Override
    public EpisodeHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_episode , null);
        EpisodeAdapter.EpisodeHolder mh = new EpisodeAdapter.EpisodeHolder(v);
        return mh;
    }
    @Override
    public void onBindViewHolder(EpisodeHolder holder, final int position) {
        if (episodeList.get(position).getImage()!=null){
            Picasso.with(SerieActivity.this).load(episodeList.get(position).getImage()).into(holder.image_view_item_episode_thumbail);
        }else{
            Picasso.with(SerieActivity.this).load(poster.getImage()).into(holder.image_view_item_episode_thumbail);
        }
        holder.text_view_item_episode_title.setText(episodeList.get(position).getTitle());
        if (episodeList.get(position).getDuration() !=  null){
            holder.text_view_item_episode_duration.setText(episodeList.get(position).getDuration());
        }
    }

Ответы [ 6 ]

1 голос
/ 11 февраля 2020
int i = recyclerViewAdapter.getItemCount();

это количество предметов, представленных в вашем обзоре

1 голос
/ 11 февраля 2020

Я надеюсь, что это сработает для вас. Вы можете получить количество, используя метод ArrayList size(). Таким образом, в вашем случае вы можете рассчитать, используя episodeList.size().

Для установки размера списка в TextView в Activity.

yourTextView.setText(""+ episodeList.size());
1 голос
/ 11 февраля 2020

RecyclerView.Adapter уже имеет функцию getItemCount для получения общего количества элементов.

Но это будет работать, только если вы переопределите функцию и вернете размер списка

    public int getItemCount() {
        if (episodeList != null)
            return episodeList.size();
        return 0;
    }
0 голосов
/ 11 февраля 2020

Попробуйте:

int count = 0;
if (recyclerViewInstance.getAdapter() != null) {
     count = recyclerViewInstance.getAdapter().getItemCount();
}

Или, если у вас есть ссылка на ваш адаптер, просто позвоните:

 int count = 0;
  if (mAdapter != null) {
     count = mAdapter.getItemCount();
  }
0 голосов
/ 11 февраля 2020

Вы можете переопределить метод getItemCount () и затем использовать его.

@Override
int getItemCount() {
  episodeList.size();
}
0 голосов
/ 11 февраля 2020

Получить общее количество элементов из адаптера набора в recyclerView.

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

recyclerView.getAdapter().getItemCount();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...