package com.qiwenge.android.adapters; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.qiwenge.android.R; import com.qiwenge.android.adapters.base.MyBaseAdapter; import com.qiwenge.android.entity.Book; import com.qiwenge.android.utils.ImageLoaderUtils; import com.qiwenge.android.utils.ReaderUtils; import java.util.List; public class BookShelfAdapter extends MyBaseAdapter<Book> { private ViewHolder viewHolder; private DisplayImageOptions mOptions; public BookShelfAdapter(Context context, List<Book> data) { this.data = data; this.context = context; mOptions = ImageLoaderUtils.createOptions(R.drawable.icon_place_holder); } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { viewHolder = new ViewHolder(); convertView = LayoutInflater.from(context).inflate(R.layout.item_book_shelf, null); viewHolder.tvTitle = (TextView) convertView.findViewById(R.id.item_tv_title); viewHolder.tvUpdate = (TextView) convertView.findViewById(R.id.item_tv_update); viewHolder.tvDesc = (TextView) convertView.findViewById(R.id.item_tv_desc); viewHolder.tvAuthor = (TextView) convertView.findViewById(R.id.item_tv_author); viewHolder.ivCover = (ImageView) convertView.findViewById(R.id.item_iv_cover); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } Book book = data.get(position); if (book != null) { viewHolder.tvTitle.setText(book.title.trim()); viewHolder.tvDesc.setText(ReaderUtils.formatItemDesc(book.description.trim())); viewHolder.tvAuthor.setText(book.author.trim()); int updateVisiblity = book.hasUpdate ? View.VISIBLE : View.GONE; viewHolder.tvUpdate.setVisibility(updateVisiblity); viewHolder.tvUpdate.setText(String.format("已更新 %s 章", book.updateArrival)); ImageLoaderUtils.display(book.cover, viewHolder.ivCover, mOptions); } return convertView; } private class ViewHolder { public TextView tvTitle; public TextView tvAuthor; public TextView tvDesc; public TextView tvUpdate; public ImageView ivCover; } }