package com.claucookie.trendingroundapp.adapters; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; 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.claucookie.trendingroundapp.R; import com.claucookie.trendingroundapp.lazylist.ImageLoader; import com.claucookie.trendingroundapp.model.Post; /** * Posts list Adapter */ public class PostsListAdapter extends ArrayAdapter<Post> { private ImageLoader mImageLoader; private SimpleDateFormat dateSourceFormat; private SimpleDateFormat dateResultFormat; public PostsListAdapter(Context context) { super(context, 0); dateSourceFormat = new SimpleDateFormat(getContext().getString( R.string.date_format)); dateResultFormat = new SimpleDateFormat(getContext().getString( R.string.date_format2)); mImageLoader = new ImageLoader(context, context.getString( R.string.app_name).trim(), R.drawable.trendinground_stub4); } public View getView(int position, View convertView, ViewGroup parent) { Post post = getItem(position); // Using ViewHolder pattern MenuViewHolder menuViewHolder; if (convertView == null) { convertView = LayoutInflater.from(getContext()).inflate( R.layout.fragment_posts_list_row, null); menuViewHolder = new MenuViewHolder(); menuViewHolder.title = (TextView) convertView .findViewById(R.id.fpl_row_title); menuViewHolder.description = (TextView) convertView .findViewById(R.id.fpl_row_desc); menuViewHolder.date = (TextView) convertView .findViewById(R.id.fpl_row_date); convertView.setTag(menuViewHolder); } else { menuViewHolder = (MenuViewHolder) convertView.getTag(); } menuViewHolder.title.setText(post.title); menuViewHolder.description.setText(post.description); try { if ( post.timestamp != null && !post.timestamp.equals("") ) { Date date = dateSourceFormat.parse(post.timestamp); menuViewHolder.date.setText(dateResultFormat.format(date)); } } catch (ParseException e) { e.printStackTrace(); } return convertView; } public void onDestroyView(){ } /** * View Holder Class * */ static class MenuViewHolder { private TextView title; private TextView description; private TextView date; } }