package com.pluscubed.plustimer.ui; import android.content.Context; import android.graphics.Color; import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import com.pluscubed.plustimer.R; import com.pluscubed.plustimer.model.PuzzleType; import java.util.ArrayList; /** * An Adapter for a Spinner with values of the PuzzleTypes */ public class SpinnerPuzzleTypeAdapter extends ArrayAdapter<PuzzleType> { private LayoutInflater mLayoutInflater; private Context mContext; public SpinnerPuzzleTypeAdapter(LayoutInflater inflater, Context context) { super(context, 0, new ArrayList<>()); mLayoutInflater = inflater; mContext = context; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = getItem(position).isScramblerOfficial() ? mLayoutInflater.inflate(R.layout.spinner_item, parent, false) : mLayoutInflater.inflate(R.layout.spinner_item2, parent, false); TextView textView = (TextView) convertView.findViewById(android.R.id.text1); textView.setText(getItem(position).getName()); textView.setTextColor(Color.WHITE); if (!getItem(position).isScramblerOfficial()) { TextView textView2 = (TextView) convertView.findViewById(android.R.id.text2); textView2.setText(mContext.getString(R.string.unofficial)); textView2.setTextColor(Color.WHITE); } return convertView; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { convertView = getItem(position).isScramblerOfficial() ? mLayoutInflater .inflate(R.layout.spinner_item_dropdown, parent, false) : mLayoutInflater.inflate(R.layout.spinner_item_dropdown2, parent, false); TextView textView = (TextView) convertView.findViewById(android.R.id.text1); textView.setText(getItem(position).getName()); textView.setTextColor(ContextCompat.getColorStateList(mContext, R.color.list_dropdown_color_dark)); if (!getItem(position).isScramblerOfficial()) { TextView textView2 = (TextView) convertView.findViewById(android .R.id.text2); textView2.setText(mContext.getString(R.string.unofficial)); textView2.setTextColor(ContextCompat.getColorStateList(mContext, R.color.list_dropdown_color_dark)); } return convertView; } }