任何人都可以解决此错误吗?我试图建立一个列表视图,但是运行代码时会出现此错误。
错误消息:
2020-02-06 13:40:23.483 16037-16037 / com.example.submissionexpert1 E / AndroidRuntime:致命异常:主要过程: com.example.submissionexpert1,PID:16037 java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'上的null 对象参考 在com.example.submissionexpert1.FilmAdapter $ ViewHolder.bind(FilmAdapter.java:68) 在com.example.submissionexpert1.FilmAdapter.getView(FilmAdapter.java:52)
我的代码:
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;
class FilmAdapter extends BaseAdapter {
private final Context context;
private ArrayList<Film> films = new ArrayList<>();
void setFilms(ArrayList<Film> films) {
this.films = films;
}
FilmAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return films.size();
}
@Override
public Object getItem(int i) {
return films.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View itemView = view;
if (itemView == null) {
itemView = LayoutInflater.from(context).inflate(R.layout.item_data, viewGroup, false);
}
ViewHolder viewHolder = new ViewHolder(itemView);
enter code here
Film film = (Film) getItem(i);
viewHolder.bind(film);
return itemView;
}
private class ViewHolder {
private TextView txtName;
private TextView txtDescription;
private ImageView imgPhoto;
ViewHolder(View view) {
txtName = view.findViewById(R.id.txt_name);
txtDescription = view.findViewById(R.id.txt_description);
imgPhoto = view.findViewById(R.id.img_photo);
}
void bind(Film film) {
txtName.setText(film.getNama());
txtDescription.setText(film.getOverview());
imgPhoto.setImageResource(film.getPhoto());
}
}
}
答案 0 :(得分:2)
请同时检查下面的字段是否返回null或object,并进行相应的更正。可能是您访问了错误的textview ID。
n <= 32
希望这会有所帮助。