package com.pandaq.pandaeye.modules.zhihu.home; import android.content.Context; import android.support.v4.app.Fragment; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.pandaq.pandaeye.R; import com.pandaq.pandaeye.modules.zhihu.home.mvp.ZhiHuStory; import com.pandaq.pandaeye.utils.DateUtils; import com.pandaq.pandaqlib.magicrecyclerView.BaseItem; import com.pandaq.pandaqlib.magicrecyclerView.BaseRecyclerAdapter; import com.squareup.picasso.Picasso; import java.util.Calendar; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by PandaQ on 2016/9/13. * email : 767807368@qq.com */ public class ZhihuDailyAdapter extends BaseRecyclerAdapter { private Context mContext; private int image_width; private int image_height; public ZhihuDailyAdapter(Fragment fragment) { mContext = fragment.getContext(); float width = fragment.getResources().getDimension(R.dimen.news_image_width); image_width = (int) width; image_height = image_width * 3 / 4; } @Override public RecyclerView.ViewHolder onCreate(ViewGroup parent, int viewType) { View view; if (viewType == RecyclerItemType.TYPE_TAGS.getiNum()) { view = LayoutInflater.from(mContext).inflate(R.layout.zhihu_story_date_tag, parent, false); return new TitleHolder(view); } else { view = LayoutInflater.from(mContext).inflate(R.layout.zhihu_story_item, parent, false); return new ViewHolder(view); } } @Override public void onBind(RecyclerView.ViewHolder viewHolder, int RealPosition, BaseItem data) { if (data.getItemType() == RecyclerItemType.TYPE_NORMAL) { //普通内容 ZhiHuStory story = (ZhiHuStory) data.getData(); ViewHolder holder = (ViewHolder) viewHolder; holder.mNewsTitle.setText(story.getTitle()); String image = story.getImages().get(0); if (!TextUtils.isEmpty(image)) Picasso.with(mContext) .load(image) //加载第一张图 .centerCrop() .resize(image_width, image_height) .into(holder.mNewsImage); } else if (data.getItemType() == RecyclerItemType.TYPE_TAGS) { //日期标签 String title = (String) data.getData(); int year = Integer.parseInt(title.substring(0, 4)); int mon = Integer.parseInt(title.substring(4, 6)); int day = Integer.parseInt(title.substring(6, 8)); Calendar calendar = Calendar.getInstance(); calendar.set(year, mon - 1, day); TitleHolder holder = (TitleHolder) viewHolder; holder.mItemTitle.setText(DateUtils.formatDate(calendar) + " | " + DateUtils.getWeek(calendar)); } } class TitleHolder extends Holder { @BindView(R.id.item_title) TextView mItemTitle; TitleHolder(View view) { super(view); ButterKnife.bind(this, view); } } class ViewHolder extends Holder { @BindView(R.id.news_image) ImageView mNewsImage; @BindView(R.id.news_title) TextView mNewsTitle; ViewHolder(View view) { super(view); ButterKnife.bind(this, view); } } }