package com.android.yzd.memo.widget.spinner; import android.content.Context; import android.os.Build; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.android.yzd.memo.R; /** * @author angelo.marchesin */ @SuppressWarnings("unused") public abstract class NiceSpinnerBaseAdapter<T> extends BaseAdapter { protected Context mContext; protected int mSelectedIndex; public NiceSpinnerBaseAdapter(Context context) { mContext = context; } @Override @SuppressWarnings("unchecked") public View getView(int position, View convertView, ViewGroup parent) { TextView textView; if (convertView == null) { convertView = View.inflate(mContext, R.layout.spinner_list_item, null); textView = (TextView) convertView.findViewById(R.id.tv_tinted_spinner); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { // textView.setBackground(ContextCompat.getDrawable(mContext, R.drawable.selector)); } convertView.setTag(new ViewHolder(textView)); } else { textView = ((ViewHolder) convertView.getTag()).textView; } textView.setText(getItem(position).toString()); return convertView; } public int getSelectedIndex() { return mSelectedIndex; } public void notifyItemSelected(int index) { mSelectedIndex = index; } @Override public long getItemId(int position) { return position; } @Override public abstract T getItem(int position); @Override public abstract int getCount(); public abstract T getItemInDataset(int position); protected static class ViewHolder { public TextView textView; public ViewHolder(TextView textView) { this.textView = textView; } } }