getItemCount 中的 RecyclerView NullPointerException 问题

RecyclerView NullPointerException Issue in getItemCount

请调查一下,让我知道哪里出了问题。

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private ItemData[] itemsData;

    public MyAdapter(ItemData[] itemsData) {
        this.itemsData = itemsData;
    }

    public MyAdapter(String[] titles, int[] icons, String name, String email, int profile) {}

    // Create new views (invoked by the layout manager)
    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
        View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.tab1list, null);
        // create ViewHolder
        ViewHolder viewHolder = new ViewHolder(itemLayoutView);
        return viewHolder;
    }

    // Replace the contents of a view (invoked by the layout manager)
    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int position) {
        // - get data from your itemsData at this position
        // - replace the contents of the view with that itemsData
        viewHolder.txtViewTitle.setText(itemsData[position].getTitle());
        viewHolder.imgViewIcon.setImageResource(itemsData[position].getImageUrl());
    }

    // inner class to hold a reference to each item of RecyclerView
    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView txtViewTitle;
        public ImageView imgViewIcon;

        public ViewHolder(View itemLayoutView) {
            super(itemLayoutView);
            txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.abb);
            imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.baa);
        }
    }

    // Return the size of your itemsData (invoked by the layout manager)
    @Override
    public int getItemCount() {
        return itemsData.length;// here im getting the `null` pointer exception error
    }
}

return itemsData.length 处出现空指针异常;我需要在寻呼机或滑动标签布局内设计一个列表视图。但是我收到了这个错误。

您传递给 MyAdapter 的构造函数的 itemsData 参数为空,或者您使用的第二个构造函数未初始化 itemsData class 成员。您可以通过 getItemCount 方法检查它是否为 null 和 return 0:

@Override
public int getItemCount() {
    return itemsData == null ? 0 : itemsData.length;
}