package org.intermine.app.adapter; /* * Copyright (C) 2015 InterMine * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. See the LICENSE file for more * information or http://www.gnu.org/copyleft/lesser.html. * */ 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 org.intermine.app.R; import org.intermine.app.util.Collections; import java.util.ArrayList; import java.util.Collection; import java.util.List; import butterknife.ButterKnife; /** * @author Daria Komkova <Daria_Komkova @ hotmail.com> */ public class SimpleAdapter<T> extends BaseAdapter { private Context mContext; private List<T> mTitles; public SimpleAdapter(Context context) { mContext = context; } public void updateData(Collection<T> data) { mTitles = new ArrayList<>(data); notifyDataSetChanged(); } @Override public int getCount() { if (Collections.isNullOrEmpty(mTitles)) { return 0; } return mTitles.size(); } @Override public Object getItem(int position) { if (Collections.isNullOrEmpty(mTitles)) { return null; } return mTitles.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textView; if (null == convertView) { LayoutInflater inflater = LayoutInflater.from(mContext); convertView = inflater.inflate(R.layout.simple_spinner_item, parent, false); textView = ButterKnife.findById(convertView, R.id.title); convertView.setTag(R.id.title, textView); } else { textView = (TextView) convertView.getTag(R.id.title); } T title = mTitles.get(position); textView.setText(title.toString()); return convertView; } }