Java Android在循环后将所有对象添加到列表

Java Android在循环后将所有对象添加到列表,java,android,retrofit2,Java,Android,Retrofit2,我尝试在完成循环后将所有对象添加到列表中。 下面是我想添加的适配器中的方法 public MusicCustomAdapter(Context context) { songList = new ArrayList<>(); this.context = context; } public void addMoreItem(List<SongRespones.Songs> songList) {

我尝试在完成循环后将所有对象添加到列表中。 下面是我想添加的适配器中的方法

public MusicCustomAdapter(Context context) {
            songList = new ArrayList<>();
            this.context = context;
}

public void addMoreItem(List<SongRespones.Songs> songList) {
                this.songList = songList;
                notifyDataSetChanged();
 }
public MusicCustomAdapter(上下文){
songList=newarraylist();
this.context=上下文;
}
公共无效addMoreItem(列表歌曲列表){
this.songList=歌曲列表;
notifyDataSetChanged();
}
这是我使用改装的呼叫响应:

    private void getAllSongBySinger() {
            songService = ServiceGenerator.createService(SongService.class);
            Call<SongRespones> callAllSong = songService.findAllSongBySinger();
            callAllSong.enqueue(new Callback<SongRespones>() {
                @Override
                public void onResponse(Call<SongRespones> call, Response<SongRespones> response) {
                    List<SongRespones.Songs> listSong;
                    SongRespones songRespones = response.body();
                    listSong = songRespones.getSongs();
                    for (SongRespones.Songs songs : listSong) {
                        if (songs.getSinger().getId() == getSingerId) {
                            Log.e(LOG, songs + "");
                            adapter.addMoreItem(What must I input in here?);
                            recyclerView.setAdapter(adapter);

                        }
                    }

                }

                @Override
                public void onFailure(Call<SongRespones> call, Throwable t) {
                    t.printStackTrace();
                }
            });

        }
private void getAllSongBySinger(){
songService=ServiceGenerator.createService(songService.class);
调用callAllSong=songService.findAllSongBySinger();
callAllSong.enqueue(新的回调(){
@凌驾
公共void onResponse(调用、响应){
列表歌曲;
SongRespones SongRespones=response.body();
listSong=songRespones.getSongs();
用于(SongRespones.Songs:listSong){
if(songs.getSinger().getId()==getSingerId){
Log.e(Log,songs+);
addMoreItem(我必须在这里输入什么?);
recyclerView.setAdapter(适配器);
}
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
t、 printStackTrace();
}
});
}

请帮助我:

我想你只想播放选定歌手的歌曲。因此,基本上在您的
onResponse
方法中,创建新列表并添加您想要显示的歌曲,最后使用此列表更新适配器

                SongRespones songRespones = response.body();
                List<SongRespones.Songs> listSong = songRespones.getSongs();
                List<SongRespones.Songs> selectedSingersSongs = new Arraylist();
                for (SongRespones.Songs songs : listSong) {
                    if (songs.getSinger().getId() == getSingerId) {
                        Log.e(LOG, songs + "");
                        selectedSingersSongs.add(songs);
                    }
                }                    
                adapter.addMoreItem(selectedSingersSongs);
SongRespones-SongRespones=response.body();
List listSong=songRespones.getSongs();
列表selectedSingersSongs=new Arraylist();
用于(SongRespones.Songs:listSong){
if(songs.getSinger().getId()==getSingerId){
Log.e(Log,songs+);
选择歌手歌曲。添加(歌曲);
}
}                    
adapter.addMoreItem(selectedSingersSongs);

当然,您应该
recyclerView.setAdapter(adapter)之前

@Santalu非常感谢您,先生我跟踪了您,现在它起作用了:DGlad来帮助您。你能接受答案吗?桑塔卢,是的,我能