Проверьте, начинается ли List <String>с другой строки, используя Stream.of - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть список, который содержит два разных URL

мои URL:

https://is2-ssl.mzstatic.com/image/thumb/Music111/v4/31/5b/62/315b62fb-3b46-d2ee-5833-be210d3287f7/source/100x100bb.jpg

и

https://lastfm-img2.akamaized.net/i/u/300x300/5ed371a8b6d03258d597eb661805baee.png

Я хочу переключить изображение значка в моем AdaperRecyclerView (сравнение начала URL), но мой цикл не работает так, как мне хотелось бы.

мой код для изображения переключателя:

@Override
public void onBindViewHolder(@NonNull SongHolder holder, int possition) {

    // Source image swicher
    holder.binding.setModelItem(localArtistNameList.get(possition));
    if( Stream.of(localSourceList).anyMatch((s) -> s.startsWith("https://is"))){
        holder.binding.sourceIcon.setBackgroundResource(R.drawable.icon_source_itune);
    }else {
        holder.binding.sourceIcon.setBackgroundResource(R.drawable.icon_source_lastfm);
    }

    holder.binding.executePendingBindings();
}

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

моя проблема в том, что значок не может измениться.Я дебаг это и для и для простоты я сделал печать экрана:

enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

Используйте этот код в onBindViewHolder:

holder.binding.setModelItem(localArtistNameList.get(possition));
holder.binding.sourceIcon.setBackgroundResource(localArtistNameList.get(i).startWith("https://is") ? R.drawable.icon_source_itune : R.drawable.icon_source_lastfm);
holder.binding.executePendingBindings();
...