package org.aisen.weibo.sina.ui.fragment.comment; import android.text.Html; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import org.aisen.android.component.bitmaploader.BitmapLoader; import org.aisen.android.component.bitmaploader.core.ImageConfig; import org.aisen.android.support.inject.ViewInject; import org.aisen.android.ui.fragment.ABaseFragment; import org.aisen.android.ui.fragment.adapter.ARecycleViewItemView; import org.aisen.weibo.sina.R; import org.aisen.weibo.sina.sinasdk.bean.StatusComment; import org.aisen.weibo.sina.sinasdk.bean.StatusContent; import org.aisen.weibo.sina.sinasdk.bean.WeiBoUser; import org.aisen.weibo.sina.support.compress.TimelineThumbBitmapCompress; import org.aisen.weibo.sina.support.utils.AisenUtils; import org.aisen.weibo.sina.support.utils.ImageConfigUtils; import org.aisen.weibo.sina.ui.fragment.base.BizFragment; import org.aisen.weibo.sina.ui.widget.AisenTextView; /** * 评论列表ItemView * * Created by wangdan on 16/1/7. */ public class CommentItemView extends ARecycleViewItemView<StatusComment> implements View.OnClickListener { @ViewInject(id = R.id.imgPhoto) ImageView imgPhoto; @ViewInject(id = R.id.txtName) TextView txtName; @ViewInject(id = R.id.txtDesc) TextView txtDesc; @ViewInject(id = R.id.txtContent) AisenTextView txtContent; @ViewInject(id = R.id.layRe) View layRe; @ViewInject(id = R.id.imgRePhoto) ImageView imgRePhoto; @ViewInject(id = R.id.txtReContent) AisenTextView txtReContent; // @ViewInject(id = R.id.layStatus) View layStatus; // @ViewInject(id = R.id.layDivider) View layDivider; // @ViewInject(id = R.id.txtStatusContent) AisenTextView txtStatusContent; // @ViewInject(id = R.id.img) ImageView imgView; @ViewInject(id = R.id.btnMenus) protected View btnMenus; private ABaseFragment fragment; private StatusContent mStatus; public CommentItemView(ABaseFragment fragment, View itemView) { super(fragment.getActivity(), itemView); this.fragment = fragment; } @Override public void onBindData(View convertView, StatusComment data, int position) { WeiBoUser user = data.getUser(); if (user != null) { BitmapLoader.getInstance().display(fragment, AisenUtils.getUserPhoto(user), imgPhoto, ImageConfigUtils.getLargePhotoConfig()); BizFragment.createBizFragment(fragment).userShow(imgPhoto, user); txtName.setText(AisenUtils.getUserScreenName(user)); } else { BizFragment.createBizFragment(fragment).userShow(imgPhoto, null); txtName.setText(R.string.error_cmts); imgPhoto.setImageResource(R.drawable.user_placeholder); } txtContent.setContent(AisenUtils.getCommentText(data.getText())); AisenUtils.setTextSize(txtContent); String createAt = AisenUtils.convDate(data.getCreated_at()); String from = String.format("%s", Html.fromHtml(data.getSource())); String desc = String.format("%s %s", createAt, from); txtDesc.setText(desc); // 源评论 if (data.getReply_comment() != null) { layRe.setVisibility(View.VISIBLE); txtReContent.setContent(AisenUtils.getCommentText(data.getReply_comment().getText())); AisenUtils.setTextSize(txtReContent); if (data.getReply_comment().getUser() != null) { BitmapLoader.getInstance().display(fragment, AisenUtils.getUserPhoto(data.getReply_comment().getUser()), imgRePhoto, ImageConfigUtils.getLargePhotoConfig()); BizFragment.createBizFragment(fragment).userShow(imgRePhoto, data.getReply_comment().getUser()); } else { BizFragment.createBizFragment(fragment).userShow(imgRePhoto, null); } } else { layRe.setVisibility(View.GONE); } if (layStatus != null) { if (data.getStatus() != null && mStatus == null) { layDivider.setVisibility(View.VISIBLE); layStatus.setVisibility(View.VISIBLE); layStatus.setTag(data.getStatus()); layStatus.setOnClickListener(this); txtStatusContent.setContent(data.getStatus().getText()); AisenUtils.setTextSize(txtStatusContent); String image = null; // 先取微博的第一张图 StatusContent status = data.getStatus(); if (status != null && status.getRetweeted_status() != null) status = status.getRetweeted_status(); if (status == null || status.getPic_urls() == null || status.getPic_urls().length == 0) { } else { image = status.getPic_urls()[0].getThumbnail_pic(); } // 没图就取头像 if (TextUtils.isEmpty(image) && status.getUser() != null) { image = status.getUser().getAvatar_large(); } if (!TextUtils.isEmpty(image)) { imgView.setVisibility(View.VISIBLE); ImageConfig config = new ImageConfig(); config.setId("comments"); config.setLoadfaildRes(R.drawable.bg_timeline_loading); config.setLoadingRes(R.drawable.bg_timeline_loading); config.setMaxWidth(300); config.setMaxHeight(300); config.setBitmapCompress(TimelineThumbBitmapCompress.class); BitmapLoader.getInstance().display(fragment, image, imgView, config); } else { imgView.setVisibility(View.GONE); } BizFragment.createBizFragment(fragment).bindOnTouchListener(txtStatusContent); } else { layDivider.setVisibility(View.GONE); layStatus.setVisibility(View.GONE); } } if (btnMenus != null) { btnMenus.setTag(data); btnMenus.setOnClickListener(this); } } @Override public void onClick(View v) { } }