package com.sunvote.xpadapp.adapter; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.sunvote.xpadapp.R; import java.util.ArrayList; import java.util.List; public class SingerVoteResultAdapter extends BaseAdapter { public SingerVoteResultAdapter(LayoutInflater inflater, List dataList, int optionNum) { this.mInflater = inflater; this.dataList = dataList; this.optionNum = optionNum; } private List dataList = new ArrayList<>(); private int optionNum; private LayoutInflater mInflater; @Override public int getCount() { return dataList.size(); } @Override public Object getItem(int position) { return dataList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = mInflater.inflate(R.layout.item_singer_vote_result, null); viewHolder = new ViewHolder(); viewHolder.result1 = convertView.findViewById(R.id.result1); viewHolder.result2 = convertView.findViewById(R.id.result2); viewHolder.result3 = convertView.findViewById(R.id.result3); viewHolder.result4 = convertView.findViewById(R.id.result4); viewHolder.result5 = convertView.findViewById(R.id.result5); viewHolder.result6 = convertView.findViewById(R.id.result6); viewHolder.result7 = convertView.findViewById(R.id.result7); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } setVisible(viewHolder, position); String[] options = dataList.get(position); setData(viewHolder, options); return convertView; } private void setData(ViewHolder viewHolder, String[] options) { if (optionNum > 0 && options.length > 0) { viewHolder.result1.setText(options[0]); } if (optionNum > 1 && options.length > 1) { viewHolder.result1.setText(options[1]); } if (optionNum > 2 && options.length > 2) { viewHolder.result1.setText(options[2]); } if (optionNum > 3 && options.length > 3) { viewHolder.result1.setText(options[3]); } if (optionNum > 4 && options.length > 4) { viewHolder.result1.setText(options[4]); } if (optionNum > 5 && options.length > 5) { viewHolder.result1.setText(options[5]); } if (optionNum > 6 && options.length > 6) { viewHolder.result1.setText(options[6]); } } private void setVisible(ViewHolder viewHolder, int position) { if (optionNum > 0) { viewHolder.result1.setVisibility(View.VISIBLE); } else { viewHolder.result1.setVisibility(View.GONE); } viewHolder.result1.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 1) { viewHolder.result2.setVisibility(View.VISIBLE); } else { viewHolder.result2.setVisibility(View.GONE); } viewHolder.result2.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 2) { viewHolder.result3.setVisibility(View.VISIBLE); } else { viewHolder.result3.setVisibility(View.GONE); } viewHolder.result3.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 3) { viewHolder.result4.setVisibility(View.VISIBLE); } else { viewHolder.result4.setVisibility(View.GONE); } viewHolder.result4.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 4) { viewHolder.result5.setVisibility(View.VISIBLE); } else { viewHolder.result5.setVisibility(View.GONE); } viewHolder.result5.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 5) { viewHolder.result6.setVisibility(View.VISIBLE); } else { viewHolder.result6.setVisibility(View.GONE); } viewHolder.result6.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); if (optionNum > 6) { viewHolder.result7.setVisibility(View.VISIBLE); } else { viewHolder.result7.setVisibility(View.GONE); } viewHolder.result7.setTextColor(position == 0 ? Color.YELLOW : Color.WHITE); } class ViewHolder { TextView result1; TextView result2; TextView result3; TextView result4; TextView result5; TextView result6; TextView result7; } }