Java 有人能帮我留言吗?我试图创建一个列表视图,但是当我运行代码时,这个错误会弹出

Java 有人能帮我留言吗?我试图创建一个列表视图,但是当我运行代码时,这个错误会弹出,java,android,listview,adapter,Java,Android,Listview,Adapter,有人能解决这个错误吗?我试图创建一个列表视图,但是当我运行代码时,出现了这个错误 错误消息: 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.TextV

有人能解决这个错误吗?我试图创建一个列表视图,但是当我运行代码时,出现了这个错误

错误消息:

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)“” 对象引用 位于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());
        }
    }
}
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.ImageView;
导入android.widget.TextView;
导入java.util.ArrayList;
类FilmAdapter扩展了BaseAdapter{
私人最终语境;
私有ArrayList films=新ArrayList();
void setFilms(ArrayList films){
这是电影;
}
FilmAdapter(上下文){
this.context=上下文;
}
@凌驾
public int getCount(){
返回胶片。大小();
}
@凌驾
公共对象getItem(int i){
返回电影。获取(i);
}
@凌驾
公共长getItemId(int i){
返回i;
}
@凌驾
公共视图getView(int i、视图视图、视图组视图组){
视图项视图=视图;
如果(itemView==null){
itemView=LayoutFlater.from(上下文)。充气(R.layout.item_数据,视图组,false);
}
ViewHolder ViewHolder=新的ViewHolder(项目视图);
在这里输入代码
胶片=(胶片)获取第(i)项;
取景器。装订(胶卷);
返回项目视图;
}
私有类视窗持有者{
私有文本视图txtName;
私有文本视图txtDescription;
私人影像查看imgPhoto;
视图保持器(视图){
txtName=view.findviewbyd(R.id.txt\u name);
txtDescription=view.findviewbyd(R.id.txt\u description);
imgPhoto=view.findviewbyd(R.id.img_照片);
}
空隙绑定(胶片){
setxt(film.getNama());
txtDescription.setText(film.getOverview());
imgPhoto.setImageResource(film.getPhoto());
}
}
}

请检查下面返回null或object的字段,并进行相应的更正。可能是您访问了错误的textview id

txtName = view.findViewById(R.id.txt_name); // may return null
txtDescription = view.findViewById(R.id.txt_description); // // may return null

希望这有帮助。

请检查下面返回null或object的字段,并进行相应的更正。可能是您访问了错误的textview id

txtName = view.findViewById(R.id.txt_name); // may return null
txtDescription = view.findViewById(R.id.txt_description); // // may return null

希望这能有所帮助。

在函数void TextView.setText(java.lang.CharSequence)中的第68行转到此类FilmAdapter.java这里有空的东西,我猜TextView是空的。在函数void TextView.setText(java.lang.CharSequence)中的第68行转到此类FilmAdapter.java这里有空的东西,我猜TextView是空的