package cn.rongcloud.im.ui.adapter; import android.content.Context; import android.net.Uri; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import cn.rongcloud.im.App; import cn.rongcloud.im.R; import cn.rongcloud.im.SealUserInfoManager; import cn.rongcloud.im.server.response.UserRelationshipResponse; import cn.rongcloud.im.server.widget.SelectableRoundedImageView; import io.rong.imageloader.core.ImageLoader; import io.rong.imlib.model.UserInfo; @SuppressWarnings("deprecation") public class NewFriendListAdapter extends BaseAdapters { public NewFriendListAdapter(Context context) { super(context); } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.rs_ada_user_ship, parent, false); holder.mName = (TextView) convertView.findViewById(R.id.ship_name); holder.mMessage = (TextView) convertView.findViewById(R.id.ship_message); holder.mHead = (SelectableRoundedImageView) convertView.findViewById(R.id.new_header); holder.mState = (TextView) convertView.findViewById(R.id.ship_state); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final UserRelationshipResponse.ResultEntity bean = (UserRelationshipResponse.ResultEntity) dataSet.get(position); holder.mName.setText(bean.getUser().getNickname()); String portraitUri = null; if (bean != null && bean.getUser() != null) { UserRelationshipResponse.ResultEntity.UserEntity userEntity = bean.getUser(); portraitUri = SealUserInfoManager.getInstance().getPortraitUri(new UserInfo( userEntity.getId(), userEntity.getNickname(), Uri.parse(userEntity.getPortraitUri()))); } ImageLoader.getInstance().displayImage(portraitUri, holder.mHead, App.getOptions()); holder.mMessage.setText(bean.getMessage()); holder.mState.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mOnItemButtonClick != null) { mOnItemButtonClick.onButtonClick(position, v, bean.getStatus()); } } }); switch (bean.getStatus()) { case 11: //收到了好友邀请 holder.mState.setText(R.string.agree); holder.mState.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.de_add_friend_selector)); break; case 10: // 发出了好友邀请 holder.mState.setText(R.string.request); holder.mState.setBackgroundDrawable(null); break; case 21: // 忽略好友邀请 holder.mState.setText(R.string.ignore); holder.mState.setBackgroundDrawable(null); break; case 20: // 已是好友 holder.mState.setText(R.string.added); holder.mState.setBackgroundDrawable(null); break; case 30: // 删除了好友关系 holder.mState.setText(R.string.deleted); holder.mState.setBackgroundDrawable(null); break; } return convertView; } /** * displayName : * message : 手机号:18622222222昵称:的用户请求添加你为好友 * status : 11 * updatedAt : 2016-01-07T06:22:55.000Z * user : {"id":"i3gRfA1ml","nickname":"nihaoa","portraitUri":""} */ class ViewHolder { SelectableRoundedImageView mHead; TextView mName; TextView mState; // TextView mtime; TextView mMessage; } OnItemButtonClick mOnItemButtonClick; public void setOnItemButtonClick(OnItemButtonClick onItemButtonClick) { this.mOnItemButtonClick = onItemButtonClick; } public interface OnItemButtonClick { boolean onButtonClick(int position, View view, int status); } }