gpt4 book ai didi

java - Android 在循环后将所有对象添加到列表中

转载 作者:行者123 更新时间:2023-12-02 12:22:48 24 4
gpt4 key购买 nike

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

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

public void addMoreItem(List<SongRespones.Songs> songList) {
this.songList = songList;
notifyDataSetChanged();
}

这是我使用 Retrofit 的 callResponse:

    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();
}
});

}

请帮助我:

最佳答案

我假设您只想显示选定歌手的歌曲。因此,基本上在您的 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);

当然你应该在

之前 recyclerView.setAdapter(adapter);

关于java - Android 在循环后将所有对象添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com