Android Open Source - SimpleReader Item List Adapter






From Project

Back to project page SimpleReader.

License

The source code is released under:

Apache License

If you think the Android project SimpleReader listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.dreamteam.app.adapter;
/*  w w w  . j av a 2 s. com*/
import java.util.ArrayList;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.dreamteam.app.commons.AppContext;
import com.dreamteam.app.entity.FeedItem;
import com.dreamteam.app.img.ImageLoader;
import com.dreateam.app.ui.R;

public class ItemListAdapter extends BaseAdapter {
  public static final String tag = "ItemListAdapter";
  private Context context;
  private LayoutInflater inflater;
  private ArrayList<FeedItem> items;
  private ArrayList<String> imageUrls = new ArrayList<String>();
  private static int[] colors;
  private boolean loadImg = false;
  private ImageLoader loader;
  private ViewHolder viewHolder;
  
  public ItemListAdapter(Context context, ArrayList<FeedItem> items,
      boolean isNight) {
    loader = new ImageLoader(context);
    this.items = items;
    this.context = context;
    inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    Resources res = context.getResources();
    colors = new int[] { res.getColor(R.color.black),
        res.getColor(R.color.dark_gray) };
    if (isNight) {
      colors = new int[] { res.getColor(R.color.white),
          res.getColor(R.color.gray) };
    }
    // ????????
    SharedPreferences prefs = AppContext.getPrefrences(context);
    loadImg = prefs.getBoolean("pref_imageLoad", false);
  }

  @Override
  public int getCount() {
    return items.size();
  }

  @Override
  public FeedItem getItem(int position) {
    return items.get(position);
  }

  @Override
  public long getItemId(int position) {
    return position;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    int colorState = 0;
    if (convertView == null) {
      convertView = inflater.inflate(R.layout.feed_item, null);
      viewHolder = new ViewHolder();
      viewHolder.itemIv = (ImageView) convertView
          .findViewById(R.id.feeditem_image);
      viewHolder.titleTv = (TextView) convertView
          .findViewById(R.id.feeditem_title);
      viewHolder.pubdateTv = (TextView) convertView
          .findViewById(R.id.feeditem_pubdate);
      convertView.setTag(viewHolder);
    } else {
      viewHolder = (ViewHolder) convertView.getTag();
    }
    FeedItem item = items.get(position);
    String title = item.getTitle();
    if (title.length() > 24)
      title = title.substring(0, 25) + "...";
    if (item.isReaded())
      colorState = 1;
    viewHolder.titleTv.setTextColor(colors[colorState]);
    viewHolder.titleTv.setText(title);
    viewHolder.pubdateTv.setText(item.getPubdate());
    imageUrls = item.getImageUrls();
    if (imageUrls.isEmpty() || !loadImg) {
      viewHolder.itemIv.setVisibility(View.GONE);
    } else {
      Bitmap defBitmap = BitmapFactory.decodeResource(context.getResources(),
          R.drawable.loading_default);
      viewHolder.itemIv.setImageBitmap(defBitmap);
      loader.loadImage(imageUrls.get(0), viewHolder.itemIv, false);
    }
    return convertView;
  }

  private static final class ViewHolder {
    ImageView itemIv;
    TextView titleTv;
    TextView pubdateTv;
  }

  public void addItemsToHead(ArrayList<FeedItem> newItems) {
    items.addAll(0, newItems);
    notifyDataSetChanged();
  }
  
}




Java Source Code List

com.dreamteam.app.adapter.CategoryDetailAdapter.java
com.dreamteam.app.adapter.FeedCategoryAdapter.java
com.dreamteam.app.adapter.GridAdapter.java
com.dreamteam.app.adapter.GuideViewPagerAdapter.java
com.dreamteam.app.adapter.ItemListAdapter.java
com.dreamteam.app.adapter.MPagerAdapter.java
com.dreamteam.app.commons.AppConfig.java
com.dreamteam.app.commons.AppContext.java
com.dreamteam.app.commons.HtmlFilter.java
com.dreamteam.app.commons.IFlyHelper.java
com.dreamteam.app.commons.ItemListEntityParser.java
com.dreamteam.app.commons.SectionHelper.java
com.dreamteam.app.commons.SeriaHelper.java
com.dreamteam.app.commons.SkinManager.java
com.dreamteam.app.commons.UIHelper.java
com.dreamteam.app.config.Contants.java
com.dreamteam.app.db.DbManager.java
com.dreamteam.app.db.FavoItemDbHelper.java
com.dreamteam.app.db.FeedDBManager.java
com.dreamteam.app.db.provider.RSSFeedCategoryProvider.java
com.dreamteam.app.entity.FeedItem.java
com.dreamteam.app.entity.Feed.java
com.dreamteam.app.entity.ItemListEntity.java
com.dreamteam.app.entity.RSSFeedCategroy.java
com.dreamteam.app.entity.Section.java
com.dreamteam.app.img.FileCacheManager.java
com.dreamteam.app.img.FileCache.java
com.dreamteam.app.img.ICache.java
com.dreamteam.app.img.ImageLoadTask.java
com.dreamteam.app.img.ImageLoad.java
com.dreamteam.app.img.ImageLoader.java
com.dreamteam.app.img.MemoryCache.java
com.dreamteam.app.rss.Dates.java
com.dreamteam.app.rss.Integers.java
com.dreamteam.app.rss.MediaAttributes.java
com.dreamteam.app.rss.MediaEnclosure.java
com.dreamteam.app.rss.MediaThumbnail.java
com.dreamteam.app.rss.RSSBase.java
com.dreamteam.app.rss.RSSConfig.java
com.dreamteam.app.rss.RSSException.java
com.dreamteam.app.rss.RSSFault.java
com.dreamteam.app.rss.RSSFeed.java
com.dreamteam.app.rss.RSSHandler.java
com.dreamteam.app.rss.RSSItem.java
com.dreamteam.app.rss.RSSLoader.java
com.dreamteam.app.rss.RSSParserSPI.java
com.dreamteam.app.rss.RSSParser.java
com.dreamteam.app.rss.RSSReaderException.java
com.dreamteam.app.rss.RSSReader.java
com.dreamteam.app.rss.Resources.java
com.dreamteam.app.ui.About.java
com.dreamteam.app.ui.BaseActivity.java
com.dreamteam.app.ui.BaseTitledActivity.java
com.dreamteam.app.ui.CategoryDetailActivity.java
com.dreamteam.app.ui.ColorListActivity.java
com.dreamteam.app.ui.FavoriteItemList.java
com.dreamteam.app.ui.FeedCategoryActivity.java
com.dreamteam.app.ui.FeedbackUI.java
com.dreamteam.app.ui.GuideActivity.java
com.dreamteam.app.ui.ImageDialog.java
com.dreamteam.app.ui.ImagesBrowseActivity.java
com.dreamteam.app.ui.ItemDetailActivity.java
com.dreamteam.app.ui.ItemListActivity.java
com.dreamteam.app.ui.LocalImageBrowseActivity.java
com.dreamteam.app.ui.LoginDialog.java
com.dreamteam.app.ui.MainActivity.java
com.dreamteam.app.ui.Setting.java
com.dreamteam.app.ui.SplashActivity.java
com.dreamteam.app.ui.SwitchBgActivity.java
com.dreamteam.app.ui.WidgetProvider.java
com.dreamteam.app.ui.adapter.ColorListAdapter.java
com.dreamteam.app.utils.CategoryNameExchange.java
com.dreamteam.app.utils.DateUtils.java
com.dreamteam.app.utils.FileUtils.java
com.dreamteam.app.utils.HttpUtils.java
com.dreamteam.app.utils.ImageLoader.java
com.dreamteam.app.utils.ImageUtils.java
com.dreamteam.app.utils.Logger.java
com.dreamteam.app.utils.MD5.java
com.dreamteam.app.utils.StringUtils.java
com.dreamteam.app.wallpaper.ChildAdapter.java
com.dreamteam.app.wallpaper.GroupGridAdapter.java
com.dreamteam.app.wallpaper.ImageBean.java
com.dreamteam.app.wallpaper.MyImageView.java
com.dreamteam.app.wallpaper.NativeImageLoader.java
com.dreamteam.app.wallpaper.WallPaperManager.java
com.dreamteam.custom.ui.PathAnimations.java
com.dreamteam.custom.ui.PullToRefreshListView.java