У меня есть адаптер, заполняющий мой Listview
из извлеченного json. Я хочу изменить цвет некоторых ячеек в зависимости от положения i.e position 1 blue position 2 red и т. Д. Но с использованием текущего кода я получаю желаемый эффект, но он повторяется, когда я просматриваю вниз список. Я понимаю, что это потому, что представление освежает, но не уверен, как его исправить.Android Listview меняется цвет позиций certian
public class ListAdapter extends BaseAdapter {
MainActivity main;
ListAdapter(MainActivity main) {
this.main = main;
}
@Override
public int getCount() {
return main.countries.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
static class ViewHolderItem {
TextView name;
TextView code;
TextView pts;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolderItem holder = new ViewHolderItem();
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) main.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.cell, null);
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.code = (TextView) convertView.findViewById(R.id.code);
holder.pts = (TextView) convertView.findViewById(R.id.pts);
convertView.setTag(holder);
}
else {
holder = (ViewHolderItem) convertView.getTag();
}
holder.name.setText(this.main.countries.get(position).name);
holder.code.setText(this.main.countries.get(position).code);
holder.pts.setText(this.main.countries.get(position).pts);
if (position == 1) {
holder.name.setBackgroundColor(Color.parseColor("#FFFFFF"));
}
return convertView;
}
}
обеспечивает еще состояние с желаемым цветом для textview background – pkgrover
Спасибо, ive попробовал это, но он все еще повторяется во всем списке. –
вы можете создать список цветов в размере вашего списка и взять цвет, который вы хотите, из colorList по позиции – Roish