RecyclerView NullPointerException Issue in getItemCount

我们两清 提交于 2019-12-02 04:05:16

问题


Please look into this and let me know what went wrong.

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
    }
}

Null pointer exception at return itemsData.length; i need to design a listview inside a pager or inside a sliding tablayout. but im getting this error.


回答1:


Your itemsData parameter passed to the MyAdapter's constructor is null or you are using the second constructor which is not initializes the itemsData class member. You can check it for null and return 0 from the getItemCount method:

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


来源:https://stackoverflow.com/questions/31136838/recyclerview-nullpointerexception-issue-in-getitemcount

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!