簡體   English   中英

如何獲取 RecyclerView 項目數?

[英]How to get RecyclerView item count?

嘿,我有recyclerview 列表,如第 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());
        }
    }
int i = recyclerViewAdapter.getItemCount();

i 是您的回收站視圖中存在的項目數

RecyclerView.Adapter 已經有函數getItemCount來獲取總項目數。

但這只有在您覆蓋該函數並返回列表大小時才有效

    public int getItemCount() {
        if (episodeList != null)
            return episodeList.size();
        return 0;
    }

從 recyclerView 中 set 的適配器獲取總項目數。

recyclerView 和適配器不能為空,否則你可以找到總項目。

recyclerView.getAdapter().getItemCount();

我希望這對你有用。 您可以使用 ArrayList 的size()方法檢索計數。 因此,在您的情況下,您可以使用episodeList.size()進行計算。

用於在 Activity 中將列表大小設置為 TextView。

yourTextView.setText(""+ episodeList.size());

您可以覆蓋 getItemCount() 方法然后使用它。

@Override
int getItemCount() {
  episodeList.size();
}

嘗試這個:

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

或者,如果您有對適配器的引用,只需調用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM