当我尝试运行项目时,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异常,那么为什么要修复它,必须修复什么?请帮我 -快乐编码