picasso를 이용해 url에서 이미지 받아올 때 질문입니다.
조회수 2842회
현재 recyclerview를 사용하고 있고 picasso를 이용해 url에서 이미지를 받아오고 있습니다. json 파싱도 이용중입니다.
처음에 데이터를 30개 받아와서 recyclerview에 뿌려주고 스크롤이 바닥에 닿으면 데이터를 30개 더 받아와서 이어서 보여주고 있습니다. 근데 중간에 클랜이 없으면 클랜이름과 클랜마크(이미지 from url)를 그냥 공백으로 나타내야 하는데 되질 않습니다. ㅜㅜ
@Override
public void onBindViewHolder(RankingRecyclerItemViewHolder holder, int position) {
RankingRecyclerViewItem item = RankingRecyclerViewItemList.get(position);
holder.sunwiTxv.setText(item.sunwi);
Picasso.with(context).load(item.getUrl_image()).resize(40, 40).into(holder.clanImage);
holder.ladderTxv.setText(item.ladder);
holder.winrateTxv.setText(item.winrate);
holder.clanTxv.setText(item.clan);
holder.idTxv.setText(item.name);
}
이건 리사이클러뷰 adapter의 내용중 일부이고
String clan = childJsonObject.getString("clan");
if (clan == null) {
RankingRecyclerViewItem.clan = null;
RankingRecyclerViewItem.url_image = null;
} else {
RankingRecyclerViewItem.clan = childJsonObject.getString("clan");
이건 메인에서 사용할때입니다.
어떻게 코딩을 구사해야 할까요? ㅜㅜ 이미지가 없는것은 url이 존재하지 않습니다. 이미지가 없을때 공백으로 나타내려면 어떡해야 하나요? ㅜㅜ
1 답변
-
이미지가 존재하지 않을 때, 빈 화면을 보여주고 싶은 것이라면
onBindViewHolder()
함수에서holder.clanImage
를 Visible, Invisible 처리해보세요.if (item.getUrl_image() != null) { holder.clanImage.setVisibility(View.VISIBLE); Picasso.with(context).load(item.getUrl_image()).resize(40, 40).into(holder.clanImage); } else { holder.clanImage.setVisibility(View.INVISIBLE); }
-
(•́ ✖ •̀)
알 수 없는 사용자
- E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaebf10e0 이런 에러만 나오고 나오질 않습니다. ㅜㅜ kyudongPark 2016.7.24 20:35
- 나오지 않는다는 게 이미지가 나와야할 때 나오지 않는다는 말씀인가요? 올려주신 에러는 해당 현상과 직접적인 영향은 없어보입니다. 알 수 없는 사용자 2016.7.25 09:54
-
댓글 입력