package com.netease.nim.demo.chatroom.adapter;
import android.support.v7.widget.RecyclerView;
import android.widget.TextView;
import com.netease.nim.demo.R;
import com.netease.nim.demo.chatroom.helper.ChatRoomHelper;
import com.netease.nim.uikit.common.ui.imageview.ImageViewEx;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomInfo;
/**
* Created by huangjun on 2016/12/9.
*/
public class ChatRoomsAdapter extends BaseQuickAdapter<ChatRoomInfo, BaseViewHolder> {
private final static int COUNT_LIMIT = 10000;
public ChatRoomsAdapter(RecyclerView recyclerView) {
super(recyclerView, R.layout.chat_room_item, null);
}
@Override
protected void convert(BaseViewHolder holder, ChatRoomInfo room, int position, boolean isScrolling) {
// bg
holder.getConvertView().setBackgroundResource(R.drawable.list_item_bg_selecter);
// cover
ImageViewEx coverImage = holder.getView(R.id.cover_image);
ChatRoomHelper.setCoverImage(room.getRoomId(), coverImage);
// name
holder.setText(R.id.tv_name, room.getName());
// online count
TextView onlineCountText = holder.getView(R.id.tv_online_count);
setOnlineCount(onlineCountText, room);
}
private void setOnlineCount(TextView onlineCountText, ChatRoomInfo room) {
if (room.getOnlineUserCount() < COUNT_LIMIT) {
onlineCountText.setText(String.valueOf(room.getOnlineUserCount()));
} else if (room.getOnlineUserCount() >= COUNT_LIMIT) {
onlineCountText.setText(String.format("%.1f", room.getOnlineUserCount() / (float) COUNT_LIMIT) + "δΈ‡");
}
}
}