Mám gridview, který jsem dělal podle návodu, co jsem našel na internetu:
Kód: Vybrat vše
public class CustomGrid extends ArrayAdapter<MuserObject> implements View.OnClickListener {
private ArrayList<MuserObject> musers;
Context context;
private static class ViewHolder {
GridViewItem image, image2;
}
public CustomGrid(ArrayList<MuserObject> musers, Context context) {
super(context, R.layout.grid_single, musers);
this.musers = musers;
this.context = context;
}
@Override
public void onClick(View v) {
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return musers.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final MuserObject muser = getItem(position);
final CustomGrid.ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new CustomGrid.ViewHolder();
final LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.grid_single, parent, false);
viewHolder.image = convertView.findViewById(R.id.image);
viewHolder.image2 = convertView.findViewById(R.id.image2);
convertView.setTag(viewHolder);
} else {
viewHolder = (CustomGrid.ViewHolder) convertView.getTag();
}
Picasso.get().load(muser.getImage()).into(viewHolder.image);
// Change to green background
if (muser.isDone()) {
viewHolder.image2.setBackgroundColor(Color.parseColor("#ff669900"));
}
return convertView;
}
}
Takto to vypadá normálně
A takhle když pouze u prvního itemu změním done na true
a třeba u 2,3,4 položky je to vpohodě, jen když dám true na předposlední, tak se mi vybarví zase ta první
Budu moc rád za jakoukoliv radu, pokud bude potřeba ukázat víc kódu, hned ho napostuju.
Moc vám děkuji za rady.