/** * Get a View that displays the data at the specified position in the data set. You can either * create a View manually or inflate it from an XML layout file. When the View is inflated, the * parent View (GridView, ListView...) will apply default layout parameters unless you use {@link * LayoutInflater#inflate(int, ViewGroup, boolean)} to specify a root view and to prevent * attachment to the root. * * @param position The position of the item within the adapter's data set of the item whose view * we want. * @param convertView The old view to reuse, if possible. Note: You should check that this view is * non-null and of an appropriate type before using. If it is not possible to convert this * view to display the correct data, this method can create a new view. Heterogeneous lists * can specify their number of view types, so that this View is always of the right type (see * {@link #getViewTypeCount()} and {@link #getItemViewType(int)}). * @param parent The parent that this view will eventually be attached to * @return A View corresponding to the data at the specified position. */ @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { view = inflater.inflate(R.layout.team_list_row, null, false); } TextView name = (TextView) view.findViewById(R.id.teamNameTextView); LinearLayout layout = (LinearLayout) view.findViewById(R.id.team_row_layout); name.setText(teamNames.getTeamNames().get(position)); teamFonts.setCustomTeamFont(name, position); layout.setBackgroundColor(ContextCompat.getColor(context, teamColors.getColors(position))); return view; }
/** * How many items are in the data set represented by this Adapter. * * @return Count of items. */ @Override public int getCount() { return teamNames.getTeamNames().size(); }