
com.github.jobs.adapter.TemplatesAdapter Maven / Gradle / Ivy
package com.github.jobs.adapter;
import android.content.Context;
import android.text.Html;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.codeslap.groundy.adapter.Layout;
import com.codeslap.groundy.adapter.ListBaseAdapter;
import com.github.jobs.R;
import com.github.jobs.bean.Template;
import com.github.jobs.utils.RelativeDate;
import com.github.jobs.utils.StringUtils;
import com.petebevin.markdown.MarkdownProcessor;
/**
* @author cristian
* @version 1.0
*/
public class TemplatesAdapter extends ListBaseAdapter {
private static final MarkdownProcessor MARKDOWN = new MarkdownProcessor();
public TemplatesAdapter(Context context) {
super(context, ViewHolder.class);
}
@Override
public long getItemId(int position) {
return getItem(position).getId();
}
@Override
public void populateHolder(int position, View view, ViewGroup parent, Template template, ViewHolder holder) {
// set template name
holder.title.setText(StringUtils.trim(template.getName()));
// set template content
String content = template.getContent();
if (content != null) {
if (content.length() > 150) {
content = content.substring(0, 150);
}
String html = Html.fromHtml(MARKDOWN.markdown(content)).toString();
html = html.replace("\n\n", " ").replace("\n", " ");
holder.content.setText(StringUtils.trim(html));
} else {
holder.content.setText("");
}
// set date
holder.date.setText(RelativeDate.getTimeAgo(getContext(), template.getLastUpdate()));
}
@Layout(R.layout.template_row)
public static class ViewHolder {
TextView title;
TextView content;
TextView date;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy