package com.ushahidi.platform.mobile.app.presentation.view.ui.adapter; import com.ushahidi.platform.mobile.app.R; import com.ushahidi.platform.mobile.app.presentation.model.FormModel; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.List; /** * Adapter for {@link com.orhanobut.dialogplus.DialogPlus} to display forms * * @author Ushahidi Team <team@ushahidi.com> */ public class FormAdapter extends BaseAdapter { private LayoutInflater mLayoutInflater; private final List<FormModel> mItems = new ArrayList<>(); public FormAdapter(Context context) { mLayoutInflater = LayoutInflater.from(context); } @Override public int getCount() { return mItems.size(); } public void setItems(List<FormModel> items) { mItems.clear(); mItems.addAll(items); notifyDataSetChanged(); } @Override public FormModel getItem(int position) { return mItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; View view = convertView; if (view == null) { view = mLayoutInflater.inflate(R.layout.grid_form_item, parent, false); viewHolder = new ViewHolder(); viewHolder.title = (TextView) view.findViewById(R.id.form_title); viewHolder.description = (TextView) view.findViewById(R.id.form_description); view.setTag(viewHolder); } else { viewHolder = (ViewHolder) view.getTag(); } viewHolder.title.setText(mItems.get(position).getName()); viewHolder.description.setText(mItems.get(position).getDescription()); return view; } static class ViewHolder { TextView title; TextView description; } }