-3

I'm getting a fatal exception / null pointer exception i dont know what is the problem and why this error is happen

If any additional information is required please let me know.

LOGCAT

> 03-09 18:18:52.423 3765-3765/com.mosabalzouby.myapplication
> E/AndroidRuntime: FATAL EXCEPTION: main
>                                                                               java.lang.NullPointerException
>                                                                                   at
> com.mosabalzouby.myapplication.IndianMoviesAdapter.onBindViewHolder(IndianMoviesAdapter.java:38)
>                                                                                   at
> com.mosabalzouby.myapplication.IndianMoviesAdapter.onBindViewHolder(IndianMoviesAdapter.java:16)
>                                                                                   at
> android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5217)
>                                                                                   at
> android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5250)
>                                                                                   at
> android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4487)
>                                                                                   at
> android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
>                                                                                   at
> android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
>                                                                                   at
> android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
>                                                                                   at
> android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
>                                                                                   at
> android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
>                                                                                   at
> android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
>                                                                                   at
> android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at
> android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037)
>                                                                                   at
> android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747)
>                                                                                   at
> android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
>                                                                                   at
> android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1156)
>                                                                                   at
> android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:760)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
>                                                                                   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
>                                                                                   at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
>                                                                                   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
>                                                                                   at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
>                                                                                   at android.view.View.layout(View.java:11180)
>                                                                                   at android.view.ViewGroup.layout(ViewGroup.java:4203)
>                                                                                   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1468)
>                                                                                   at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
>                                                                                   at android.os.Handler.dispatchMessage(Handler.java:99)
>                                                                                   at android.os.Looper.loop(Looper.java:137)
>                                                                                   at android.app.ActivityThread.main(ActivityThread.java:4340)
>                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)
>                                                                                   at java.lang.reflect.Method.invoke(Method.java:511)
>                                                                                   at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>                                                                                   at dalvik.system.NativeStart.main(Native Method)

MainActivity :

  List<IndianMovies> movies=new ArrayList<>();

        int posters[]={R.mipmap.avengers,R.mipmap.avengers,R.mipmap.avengers,R.mipmap.avengers,R.mipmap.avengers,R.mipmap.avengers};
        String moviename[]={"aaaaa","bbbbbb","ccccc","vvvvvv","eeeeeee","wwwwww"};
        String movierate[]={"9.9","5.5","2.3","4.4","5.1","6.2"};
        String moviestory[]={"aaaaaaaaaaa","aaaaaaaaa","wwwwwwwwwww","eeeee","rrrrrrr","qqqqq"};


        for (int i=0;i<posters.length;i++){
            IndianMovies movie=
                    new IndianMovies(moviename[i],movierate[i],moviestory[i],posters[i]);
            movies.add(movie);


        }

        RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        IndianMoviesAdapter adapter = new IndianMoviesAdapter(movies);
        recyclerView.setAdapter(adapter);

My Adapter :

public class IndianMoviesAdapter extends RecyclerView.Adapter<IndianMoviesAdapter.IndianMovieHolder>{

    List<IndianMovies> moviesList;
    public IndianMoviesAdapter(List<IndianMovies> moviesList){
        this.moviesList=moviesList;


    }


    @Override
    public IndianMovieHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View row = LayoutInflater.from(parent.getContext()).inflate(R.layout.indian_movie_row,parent,false);
        IndianMovieHolder holder = new IndianMovieHolder(row);

        return holder;
    }

    @Override
    public void onBindViewHolder(IndianMovieHolder holder, int position) {
    IndianMovies movie =moviesList.get(position);
        holder.movietitle.setText(movie.moviename);
        holder.movierat.setText(movie.movierate);
        holder.moviesdesc.setText(movie.moviestory);
        holder.poster.setImageResource(movie.posterimage);
    }

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

    class IndianMovieHolder extends RecyclerView.ViewHolder{
        TextView movietitle,movierat,moviesdesc;
        ImageView poster;


        public IndianMovieHolder(View itemView) {
            super(itemView);


            movietitle =(TextView) itemView.findViewById(R.id.movietitleTV);
            movietitle =(TextView) itemView.findViewById(R.id.movieratTV);
            moviesdesc =(TextView) itemView.findViewById(R.id.moviedescTV);
            poster =(ImageView) itemView.findViewById(R.id.movieposteIMG);


        }
    }

}

How to fix it ??

1 Answers1

0

issue is in your model which is indianMovies i can not add comment because my repo is low please share your model with me

Nisar Ahmad
  • 170
  • 1
  • 7
  • public class IndianMovies { String moviename,movierate,moviestory; int posterimage; public IndianMovies(String moviename, String movierate, String moviestory, int posterimage) { this.moviename=moviename; this.movierate=movierate; this.moviestory=moviestory; this.posterimage=posterimage; } } – Mosab Alzouby Mar 09 '16 at 17:02