package com.metis.newslib.adapter.holder;
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.metis.base.manager.DisplayManager;
import com.metis.base.widget.adapter.holder.AbsViewHolder;
import com.metis.newslib.ActivityDispatcher;
import com.metis.newslib.R;
import com.metis.newslib.adapter.delegate.NewsSmallDelegate;
import com.metis.newslib.module.NewsItem;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
/**
* Created by Beak on 2015/9/2.
*/
public class NewsSmallHolder extends AbsViewHolder<NewsSmallDelegate> {
public ImageView smallThumbIv = null;
public TextView smallTitleTv = null;
public TextView smallSourceTv = null;
public TextView smallCommentTv, smallReadTv;
public NewsSmallHolder(View itemView) {
super(itemView);
smallThumbIv = (ImageView)itemView.findViewById(R.id.news_small_thumb);
smallTitleTv = (TextView)itemView.findViewById(R.id.news_small_title);
smallSourceTv = (TextView)itemView.findViewById(R.id.news_small_source);
smallCommentTv = (TextView)itemView.findViewById(R.id.news_small_comment_count);
smallReadTv = (TextView)itemView.findViewById(R.id.news_small_read_count);
}
@Override
public void bindData(final Context context, NewsSmallDelegate newsSmallDelegate, RecyclerView.Adapter adapter, int position) {
final NewsItem item = newsSmallDelegate.getSource();
DisplayManager.getInstance(context).display(item.imgUrl, smallThumbIv, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {
if (view instanceof ImageView) {
((ImageView)view).setImageDrawable(null);
view.setBackgroundColor(context.getResources().getColor(android.R.color.darker_gray));
}
}
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) {
view.setBackground(null);
}
@Override
public void onLoadingCancelled(String s, View view) {
}
});
if (TextUtils.isEmpty(item.title)) {
smallTitleTv.setText("");
} else {
smallTitleTv.setText(item.title);
}
if (item.source != null) {
smallSourceTv.setText(item.source.title);
} else {
smallSourceTv.setText("");
}
if (item.commentCount > 0) {
smallCommentTv.setText(context.getString(R.string.text_news_related_comment_count, item.commentCount));
} else {
smallCommentTv.setText("");
}
if (item.pageViewCount > 0) {
smallReadTv.setText(context.getString(R.string.text_news_related_read_count, item.pageViewCount));
} else {
smallReadTv.setText("");
}
if (newsSmallDelegate.isAboveBig() && newsSmallDelegate.isBelowBig()) {
itemView.setBackgroundResource(R.drawable.std_list_item_round_bg);
} else if (newsSmallDelegate.isAboveBig()) {
itemView.setBackgroundResource(R.drawable.footer_round_conner_bg_sel);
} else if (newsSmallDelegate.isBelowBig()) {
itemView.setBackgroundResource(R.drawable.header_round_conner_bg_sel);
} else {
itemView.setBackgroundResource(R.drawable.std_list_item_bg);
}
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityDispatcher.newsDetailActivity(context, item.newsId);
}
});
}
}