为什么我的 recyclerView 不显示任何数据?

印第安纳州

我已经多次实现 RecyclerView 和客户适配器,但由于某种原因我无法让这个显示任何数据。我正在使用改造从 JSON 中输入数据,并在加载后调用 notifyDataSetChanged() ,但它仍然保持空白。我已将其剥离回仅一个文本视图以尝试简化但仍然没有得到任何结果。谁能看到我哪里出错了?

当我调试时,我让 List 包含数据,所以我肯定正确解析了数据,我只是无法在回收器视图中显示它。我什至检查了 loadTrailerList 方法中的 list.size() 并且它有数据。

我的活动 onCreate 方法:

trailerAdapter = new TrailerAdapter(this);
trailerRecyclerView = findViewById(R.id.trailer_recycler_view);
trailerRecyclerView.setLayoutManager(new LinearLayoutManager(this));
trailerRecyclerView.setAdapter(trailerAdapter);

改造 onResponse 方法:

if (response.body() != null) {
                trailers = response.body().getTrailers();
            }
            trailerAdapter.loadTrailerList(response.body().getTrailers());

我的自定义适配器:

public class TrailerAdapter extends RecyclerView.Adapter<TrailerAdapter.TrailerViewHolder> {

    private final List<Trailer> trailerList = new ArrayList<>();
    private final TrailerClickListener listener;

    public TrailerAdapter(TrailerClickListener listener) {
        this.listener = listener;
    }

    @NonNull
    @Override
    public TrailerViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.trailer_list_item, viewGroup, false);
        return new TrailerViewHolder(itemView, this);
    }

    @Override
    public void onBindViewHolder(@NonNull TrailerViewHolder trailerViewHolder, int i) {
        trailerViewHolder.trailerTitle.setText(trailerList.get(i).getName());
    }

    @Override
    public int getItemCount() {
        return trailerList.size();
    }

    public void loadTrailerList(List<Trailer> trailers) {
        this.trailerList.clear();
        if (trailers != null) {
            trailers.addAll(trailers);
        }
        notifyDataSetChanged();
    }

    class TrailerViewHolder extends RecyclerView.ViewHolder {

        final TrailerAdapter trailerAdapter;
        private final TextView trailerTitle;

        private TrailerViewHolder(@NonNull View itemView, TrailerAdapter trailerAdapter) {
            super(itemView);
            this.trailerAdapter = trailerAdapter;
            trailerTitle = itemView.findViewById(R.id.text_view_trailer_title);

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    listener.onTrailerClicked(trailerList.get(getAdapterPosition()));
                }
            });
        }
    }
}

我的列表项 XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

            <TextView
                android:id="@+id/text_view_trailer_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Play Trailer" />

</LinearLayout>

我的活动 XML 中的回收者视图:

                    <android.support.v7.widget.RecyclerView
                        android:id="@+id/trailer_recycler_view"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@color/colorPrimary"
                        app:layout_constraintTop_toBottomOf="@+id/trailer_divider">

                    </android.support.v7.widget.RecyclerView>

我很感激任何可以为我指明正确方向的人

印第安纳州

哦!我刚刚意识到我做错了什么:

在我的适配器中的 loadTrailerList() 方法中,我调用了:

trailers.addAll(trailers);

代替:

trailerList.addAll(trailers);

将项目列表加载到实际的 ArrayList 中!哎呀!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用RecyclerView并从Web服务获取信息,但不显示答案,并且没有出现任何错误,为什么?

来自分类Dev

XSL为什么不显示任何数据

来自分类Dev

为什么我的jqgrid没有显示任何数据?

来自分类Dev

为什么我的recyclerview仅显示第一项的内容?

来自分类Dev

RecyclerView不显示任何内容,也没有显示错误

来自分类Dev

为什么我的Logcat不显示任何日志?

来自分类Dev

我RecyclerView没有显示任何数据 - 火力地堡

来自分类Dev

为什么我的策略不显示任何数据?

来自分类Dev

为什么我的硒代码不显示任何文本?

来自分类Dev

为什么我在Android中的RecyclerView无法正确显示视图?

来自分类Dev

为什么我的PickerView不显示数据

来自分类Dev

为什么我的ListView不显示新数据?

来自分类Dev

RecyclerView不显示任何内容,也没有显示错误

来自分类Dev

为什么UITableView不显示任何内容?什么都不显示数据。

来自分类Dev

为什么我的ng-repeat不显示提取的数据?

来自分类Dev

为什么我的Logcat不显示任何日志?

来自分类Dev

为什么我的以下程序不显示任何输出(ArrayList)?

来自分类Dev

任何想法为什么我的 FileUpload 不显示文件?

来自分类Dev

RecyclerView 什么都不显示

来自分类Dev

为什么我的 recyclerview 没有在片段中显示数据?

来自分类Dev

为什么我的 DataGrid 在其绑定的数据源中有项目时不显示任何行?

来自分类Dev

为什么数据不显示?

来自分类Dev

RecyclerView 不显示任何项目

来自分类Dev

RecyclerView 不显示数据

来自分类Dev

RecyclerView 不显示数据 1 正在工作,但其他没有显示任何内容,有什么想法吗?

来自分类Dev

我的 RecyclerView ContextMenu 不显示

来自分类Dev

RecyclerView 不显示来自 JSON 的数据

来自分类Dev

为什么我的 Toast.makeText 不显示任何内容

来自分类Dev

为什么我的数据没有显示在 recyclerview 中?

Related 相关文章

  1. 1

    使用RecyclerView并从Web服务获取信息,但不显示答案,并且没有出现任何错误,为什么?

  2. 2

    XSL为什么不显示任何数据

  3. 3

    为什么我的jqgrid没有显示任何数据?

  4. 4

    为什么我的recyclerview仅显示第一项的内容?

  5. 5

    RecyclerView不显示任何内容,也没有显示错误

  6. 6

    为什么我的Logcat不显示任何日志?

  7. 7

    我RecyclerView没有显示任何数据 - 火力地堡

  8. 8

    为什么我的策略不显示任何数据?

  9. 9

    为什么我的硒代码不显示任何文本?

  10. 10

    为什么我在Android中的RecyclerView无法正确显示视图?

  11. 11

    为什么我的PickerView不显示数据

  12. 12

    为什么我的ListView不显示新数据?

  13. 13

    RecyclerView不显示任何内容,也没有显示错误

  14. 14

    为什么UITableView不显示任何内容?什么都不显示数据。

  15. 15

    为什么我的ng-repeat不显示提取的数据?

  16. 16

    为什么我的Logcat不显示任何日志?

  17. 17

    为什么我的以下程序不显示任何输出(ArrayList)?

  18. 18

    任何想法为什么我的 FileUpload 不显示文件?

  19. 19

    RecyclerView 什么都不显示

  20. 20

    为什么我的 recyclerview 没有在片段中显示数据?

  21. 21

    为什么我的 DataGrid 在其绑定的数据源中有项目时不显示任何行?

  22. 22

    为什么数据不显示?

  23. 23

    RecyclerView 不显示任何项目

  24. 24

    RecyclerView 不显示数据

  25. 25

    RecyclerView 不显示数据 1 正在工作,但其他没有显示任何内容,有什么想法吗?

  26. 26

    我的 RecyclerView ContextMenu 不显示

  27. 27

    RecyclerView 不显示来自 JSON 的数据

  28. 28

    为什么我的 Toast.makeText 不显示任何内容

  29. 29

    为什么我的数据没有显示在 recyclerview 中?

热门标签

归档