1

I have implemented RecyclerView with some text and image, but I am getting error of null pointer exception in that. Here is the code of RecyclerView activity and adapter of it.

RecyclerView activity code:

RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
RecyclerView.Adapter adapter;
View rootview;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    rootview = inflater.inflate(R.layout.first_class_9, container, false);
    recyclerView = (RecyclerView) rootview.findViewById(R.id.card_relative_1_9);

    layoutManager = new LinearLayoutManager(getActivity());
    recyclerView.setLayoutManager(layoutManager);

    adapter = new RecyclerAdapter();
    recyclerView.setAdapter(adapter);
    return rootview;
}

RecyclerView Adapter code:

    public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {

    private String[] SubTxt = {"NCERT Solution",
            "Notes",
            "Sample Papers"};


    private int[] SubImage = {R.drawable.ic_answers_black_48dp,
            R.drawable.ic_notes_black_48dp,
            R.drawable.ic_sample_papers_black_48dp};

    class ViewHolder extends RecyclerView.ViewHolder {

        public int currentItem;
        public ImageView itemImage;
        public TextView itemTitle;


        public ViewHolder(View itemView) {
            super(itemView);
            itemImage = (ImageView) itemView.findViewById(R.id.SubImage);
            itemTitle = (TextView) itemView.findViewById(R.id.SubTxt);


            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int position = getAdapterPosition();

                    Snackbar.make(v, "Click detected on item " + position,
                            Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();

                }
            });
        }
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.recycler_1_9, viewGroup, false);
        ViewHolder viewHolder = new ViewHolder(v);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int i) {
        viewHolder.itemTitle.setText(SubTxt[i]);
        viewHolder.itemImage.setImageResource(SubImage[i]);
    }

    @Override
    public int getItemCount() {
        return SubTxt.length;
    }
}
Vasily Kabunov
  • 6,511
  • 13
  • 49
  • 53
Raghav
  • 137
  • 5
  • 11

0 Answers0