Android Open Source - Broadsheet.ie-Android Post List Adapter






From Project

Back to project page Broadsheet.ie-Android.

License

The source code is released under:

Copyright (c) 2013 Karl Monaghan (http://karlmonaghan.com/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Soft...

If you think the Android project Broadsheet.ie-Android 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 ie.broadsheet.app.adapters;
/*from  w  w  w . j av  a 2s  .  c  o m*/
import ie.broadsheet.app.R;
import ie.broadsheet.app.model.json.Post;
import android.app.Activity;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

public class PostListAdapter extends ArrayAdapter<Post> {
    // private static final String TAG = "PostListAdapter";

    public static class ViewHolder {
        public TextView titleView;

        public TextView dateView;

        public TextView commentCountView;

        public ImageView featuredImage;
    }

    public PostListAdapter(Context context) {
        super(context, R.layout.activity_post_list);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;

        ViewHolder holder;
        Activity activity = (Activity) getContext();
        if (v == null) {
            LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.post_list_item, null);
            holder = new ViewHolder();
            holder.titleView = (TextView) v.findViewById(R.id.post_title);
            holder.dateView = (TextView) v.findViewById(R.id.post_date);
            holder.commentCountView = (TextView) v.findViewById(R.id.comment_count);
            holder.featuredImage = (ImageView) v.findViewById(R.id.featuredImage);
            v.setTag(holder);
        } else {
            holder = (ViewHolder) v.getTag();
            holder.featuredImage.setImageDrawable(activity.getResources().getDrawable(R.drawable.default_post_image));
        }

        final Post post = getItem(position);
        if (post != null) {

            holder.titleView.setText(Html.fromHtml(post.getTitle_plain()));
            holder.dateView.setText(post.getRelativeTime());
            holder.commentCountView.setText(post.getCommentCountString());

            String featuredImage = post.getFeaturedImage();

            if ((featuredImage != null) && (featuredImage.length() > 0)) {
                DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory().cacheOnDisc()
                /*
                 * .displayer( new RoundedBitmapDisplayer(activity.getResources().getDimensionPixelSize(
                 * R.dimen.standard_corner_radius)))
                 */
                .build();
                ImageLoader.getInstance().displayImage(featuredImage, holder.featuredImage, options);

            }
        }

        return v;
    }
}




Java Source Code List

ie.broadsheet.app.BaseFragmentActivity.java
ie.broadsheet.app.BroadsheetApplication.java
ie.broadsheet.app.CommentListActivity.java
ie.broadsheet.app.PostDetailActivity.java
ie.broadsheet.app.PostListActivity.java
ie.broadsheet.app.adapters.CommentAdapter.java
ie.broadsheet.app.adapters.PostListAdapter.java
ie.broadsheet.app.adapters.PostListEndlessAdapter.java
ie.broadsheet.app.client.http.MultipartFormDataContent.java
ie.broadsheet.app.dialog.AboutDialog.java
ie.broadsheet.app.dialog.MakeCommentDialog.java
ie.broadsheet.app.dialog.TipDialog.java
ie.broadsheet.app.dialog.WebViewDialog.java
ie.broadsheet.app.fragments.PostDetailFragment.java
ie.broadsheet.app.fragments.PostListFragment.java
ie.broadsheet.app.model.json.AttachmentItem.java
ie.broadsheet.app.model.json.Attachments.java
ie.broadsheet.app.model.json.Author.java
ie.broadsheet.app.model.json.Category.java
ie.broadsheet.app.model.json.Comment.java
ie.broadsheet.app.model.json.Image.java
ie.broadsheet.app.model.json.PostList.java
ie.broadsheet.app.model.json.Post.java
ie.broadsheet.app.model.json.ResponseData.java
ie.broadsheet.app.model.json.SinglePost.java
ie.broadsheet.app.model.json.SubmitTipResponse.java
ie.broadsheet.app.model.json.Tag.java
ie.broadsheet.app.requests.DownloadFileRequest.java
ie.broadsheet.app.requests.MakeCommentRequest.java
ie.broadsheet.app.requests.PostListRequest.java
ie.broadsheet.app.requests.PostRequest.java
ie.broadsheet.app.requests.SubmitTipRequest.java
ie.broadsheet.app.services.BroadsheetServices.java