Раскраска ряд в Customadapter Android - PullRequest
0 голосов
/ 13 января 2012

Хорошо, пока я создал это, и мои элементы отображаются.Предположим, что у меня есть ключевые значения в массиве с таким количеством элементов, как строк.Если у меня 16 строк, то в моем массиве 16 элементов.Я хочу проверить массив [0] и в зависимости от значения setColor для первой строки, затем проверить массив [1] и setColor для следующей строки и так далее.Может ли кто-нибудь помочь мне:

public class SimpleAdapter extends ArrayAdapter<String>{

private final Context context;



private String data[] = null;

    public SimpleAdapter(Context context,  String[] data) {
        super(context, R.layout.row, data);
        this.context = context;
        this.data = data;
    }



  @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.row, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.text1);
        textView.setText(data[position]);
        return rowView;
    }
}

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Просто определите ваш color/(background drawable) в массиве.как

int[] color = {your colors };

, тогда просто используйте следующие строки

int mycolor = position % color.length;
rowView.setBackground/color = color[mycolor];
TextView textView = (TextView) rowView.findViewById(R.id.text1);
textView.setText(data[position]);
return rowView;
0 голосов
/ 13 января 2012

В getView () вы можете получить что-то вроде:

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.row, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.text1);
textView.setText(data[position]);

switch(position) {
  case 0:
   rowView.setBackgroundColor(color0)
   break;
  case 1:
   rowView.setBackgroundColor(color1)
   break;
...
}

return rowView;
...