Android Studio试图调用虚拟方法';int java.util.ArrayList.size()';关于空对象引用

Android Studio试图调用虚拟方法';int java.util.ArrayList.size()';关于空对象引用,java,android,visual-studio,Java,Android,Visual Studio,我真的不完全明白错误是从哪里来的。有人能帮我吗?谢谢大家! 我把日志和代码贴在下面 ================================================================================================================================================================================================ LogCat java.lan

我真的不完全明白错误是从哪里来的。有人能帮我吗?谢谢大家!

我把日志和代码贴在下面

================================================================================================================================================================================================

LogCat

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
    at com.musicapp.android.musicapp.MusicCustomAdapter.getItemCount(MusicCustomAdapter.java:42)
代码:

公共类MusicCustomAdapter扩展了RecyclerView.Adapter{ 私人ArrayList arrayListAudio; 私人语境; 公共音乐适配器(ArrayList arrayListAudio,上下文){ this.arrayListAudio=arrayListAudio; this.context=上下文; } @非空 @凌驾 public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType){ View=LayoutFlater.from(parent.getContext()).flate(R.layout.song\u display\u model,parent,false); ViewHolder=新的ViewHolder(视图); 报税表持有人; } @凌驾 public void onBindViewHolder(@NonNull ViewHolder,int位置){ _Song.setText(arrayListAudio.get(position.getName())的holder.Name_; holder.Name\u of_Artist.setText(arrayListAudio.get(position.getArtist()); holder.imageView\u song\u display\u model.setImageBitmap(arrayListAudio.get(position.getSongCOmerPhoto()); } 40@Override 41公共int getItemCount(){ 42返回arrayListAudio.size(); 43 } 公共类ViewHolder扩展了RecyclerView.ViewHolder{ 线性布局相对长度; text查看歌曲的名称; TextView艺术家的姓名; ImageView ImageView_宋_显示_模型; 公共视图持有者(@NonNull View itemView){ 超级(项目视图); relativeLayout=itemView.findViewById(R.id.relativeLayoutId); 歌曲名称=itemviewbyd(歌曲名称的R.id.Name); 艺术家的姓名=itemView.findViewById(艺术家的R.id.Name); imageView\u song\u display\u model=itemView.findViewById(R.id.imageView\u song\u display\u model); } } }
问题是在向适配器提供项之前可以调用
getItemCount()
,因此,如果项列表为空,则需要确保它返回0

替换此代码

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

@Override
public int getItemCount() {
    return arrayListAudio.size();
}
@Override
public int getItemCount() {
    return arrayListAudio == null ? 0 : arrayListAudio.size();
}