Android Open Source - android-blog Blog List Adapter






From Project

Back to project page android-blog.

License

The source code is released under:

MIT License

If you think the Android project android-blog 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 org.kevinmrohr.android_blog.adapter;
/*from  w w  w .  java  2s  .  c  om*/
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.kevinmrohr.android_blog.R;
import org.kevinmrohr.android_blog.model.BlogPost;

import java.util.ArrayList;
import java.util.List;

public class BlogListAdapter extends BindingAdapter<BlogPost, BlogListAdapter.DetailViewHolder> {
  private static final DateTimeFormatter dtf = DateTimeFormat.forPattern("MM/dd");
  private static final int MAX_SUMMARY_LEN = 100;
  private List<BlogPost> blogPostRows = new ArrayList<BlogPost>();

  public BlogListAdapter(Context context, List<BlogPost> blogPostRows) {
    super(context);
    this.blogPostRows = blogPostRows;
  }

  public void setData(List<BlogPost> data) {
    if (blogPostRows != null) {
      blogPostRows.clear();
    } else {
      blogPostRows = new ArrayList<BlogPost>();
    }
    if (data != null) {
      blogPostRows.addAll(data);
    }
    notifyDataSetChanged();
  }

  @Override public View newView(LayoutInflater inflater, int position, ViewGroup container) {
    return inflater.inflate(R.layout.blogpostdetail, null);
  }

  @Override public DetailViewHolder buildViewHolder(View view, int position) {
    return new DetailViewHolder(view);
  }

  @Override public void bindView(BlogPost item, int position, View view, DetailViewHolder vh) {
    vh.blogDate.setText(dtf.print(item.date));

    vh.blogTitle.setText(item.title);

    String summary = item.content.substring(0, Math.min(MAX_SUMMARY_LEN, item.content.length()));
    vh.blogSummary.setText(summary);
  }

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

  @Override
  public BlogPost getItem(int i) {
    return blogPostRows.get(i);
  }

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

  static class DetailViewHolder {
    TextView blogDate;
    TextView blogTitle;
    TextView blogSummary;

    DetailViewHolder(View view) {
      blogDate = (TextView) view.findViewById(R.id.blogdate);
      blogTitle = (TextView) view.findViewById(R.id.blogtitle);
      blogSummary = (TextView) view.findViewById(R.id.blogsummary);
    }
  }
}




Java Source Code List

com.android.volley.AuthFailureError.java
com.android.volley.CacheDispatcher.java
com.android.volley.Cache.java
com.android.volley.DefaultRetryPolicy.java
com.android.volley.ExecutorDelivery.java
com.android.volley.NetworkDispatcher.java
com.android.volley.NetworkError.java
com.android.volley.NetworkResponse.java
com.android.volley.Network.java
com.android.volley.NoConnectionError.java
com.android.volley.ParseError.java
com.android.volley.RequestQueue.java
com.android.volley.Request.java
com.android.volley.ResponseDelivery.java
com.android.volley.Response.java
com.android.volley.RetryPolicy.java
com.android.volley.ServerError.java
com.android.volley.TimeoutError.java
com.android.volley.VolleyError.java
com.android.volley.VolleyLog.java
com.android.volley.toolbox.AndroidAuthenticator.java
com.android.volley.toolbox.Authenticator.java
com.android.volley.toolbox.BasicNetwork.java
com.android.volley.toolbox.ByteArrayPool.java
com.android.volley.toolbox.ClearCacheRequest.java
com.android.volley.toolbox.DiskBasedCache.java
com.android.volley.toolbox.HttpClientStack.java
com.android.volley.toolbox.HttpHeaderParser.java
com.android.volley.toolbox.HttpStack.java
com.android.volley.toolbox.HurlStack.java
com.android.volley.toolbox.ImageLoader.java
com.android.volley.toolbox.ImageRequest.java
com.android.volley.toolbox.JsonArrayRequest.java
com.android.volley.toolbox.JsonObjectRequest.java
com.android.volley.toolbox.JsonRequest.java
com.android.volley.toolbox.NetworkImageView.java
com.android.volley.toolbox.NoCache.java
com.android.volley.toolbox.PoolingByteArrayOutputStream.java
com.android.volley.toolbox.RequestFuture.java
com.android.volley.toolbox.StringRequest.java
com.android.volley.toolbox.Volley.java
org.kevinmrohr.android_blog.activity.BlogViewActivity$$ViewInjector.java
org.kevinmrohr.android_blog.activity.BlogViewActivity.java
org.kevinmrohr.android_blog.activity.ListBlogsActivity$$InjectAdapter.java
org.kevinmrohr.android_blog.activity.ListBlogsActivity$$ViewInjector.java
org.kevinmrohr.android_blog.activity.ListBlogsActivity.java
org.kevinmrohr.android_blog.adapter.BindingAdapter.java
org.kevinmrohr.android_blog.adapter.BlogListAdapter.java
org.kevinmrohr.android_blog.async.BlogPostLoader.java
org.kevinmrohr.android_blog.fragments.BlogDetailFragment.java
org.kevinmrohr.android_blog.fragments.BlogListFragment.java
org.kevinmrohr.android_blog.model.BlogPost.java
org.kevinmrohr.android_blog.module.ListBlogsModule$$ModuleAdapter.java
org.kevinmrohr.android_blog.module.ObjectMappingModule.java
org.kevinmrohr.android_blog.serialization.CustomDateDeserializer.java
org.kevinmrohr.android_blog.serialization.CustomDateSerializer.java
org.kevinmrohr.android_blog.service.BlogPostService.java