您好,您知道要修复它吗,在我的项目中出现错误java.lang.NullPointerException:

时间:2019-07-02 07:50:44

标签: java android

当我尝试运行项目时,MoviesAdapter.java类中存在错误,我不知道为什么我的代码中没有null异常错误

package com.example.aplikasimoviecataloguesub1;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;

public class MoviesAdapter extends BaseAdapter {

    private final Context context;
    private ArrayList<Movie> movies;

    void setMovies (ArrayList<Movie>movies) {
        this.movies=movies;
    }

    MoviesAdapter(Context context) {
        this.context = context;
        movies = new ArrayList<>();
    }


    @Override
    public int getCount() {
        return movies.size();
    }

    @Override
    public Object getItem(int i) {
        return movies.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (view == null ){
            view = LayoutInflater.from(context).inflate(R.layout.item_movie, viewGroup, false);
         }
        ViewHolder viewHolder = new ViewHolder(view);
        Movie hero = (Movie) getItem(i);
        viewHolder.bind(hero);
        return view;

    }
   private class  ViewHolder {
        private TextView txtName;
         private TextView txtDescription;
         private TextView txtDate;
       private ImageView imgPhoto;
       private TextView txtDurasi;
       private TextView txtDirector;
       private TextView txtGenre;

       ViewHolder(View view) {
            txtName = view.findViewById(R.id.txt_name);
            txtDescription = view.findViewById(R.id.txt_description);
            txtDate = view.findViewById(R.id.txt_date);
            txtDurasi = view.findViewById(R.id.txt_durasi);
            txtDirector = view.findViewById(R.id.txt_sutradara);
            txtGenre = view.findViewById(R.id.txt_genre);
            imgPhoto = view.findViewById(R.id.img_photo);
        }

        void bind(Movie movie) {
             txtName.setText(movie.getName());
             txtDescription.setText(movie.getDescription());
             txtDate.setText(movie.getDate());
             imgPhoto.setImageResource(movie.getPhoto());
             txtDurasi.setText(movie.getDurasi());
             txtDirector.setText(movie.getDirector());
             txtGenre.setText(movie.getGenre());
         }
    }
}

我的爱是

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
        at com.example.aplikasimoviecataloguesub1.MoviesAdapter$ViewHolder.bind(MoviesAdapter.java:78)
        at com.example.aplikasimoviecataloguesub1.MoviesAdapter.getView(MoviesAdapter.java:50)

,空异常错误代码为

 void bind(Movie movie) {
             txtName.setText(movie.getName());
             txtDescription.setText(movie.getDescription());
             txtDate.setText(movie.getDate());
             imgPhoto.setImageResource(movie.getPhoto());
             txtDurasi.setText(movie.getDurasi());
             txtDirector.setText(movie.getDirector());
             txtGenre.setText(movie.getGenre());
         }
    }

        viewHolder.bind(hero);

我的项目上的每个类都没有错误,但是运行时有null异常,那么为什么要修复它,必须修复什么?请帮我 -快乐编码

0 个答案:

没有答案