GridView меняет больше элементов - PullRequest
0 голосов
/ 26 февраля 2019

У меня проблема с моим GridView.Я использую его, чтобы упростить, и у меня есть тот же код, что и в учебнике

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 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;
}

}

И в нижней части кода вы можете видеть, что я проверяю, является ли текущий объект isDone () и если даЯ хочу изменить цвет квадрата, но когда я делаю это (только для одного объекта), он меняет вид сетки на большее количество мест

Вот некоторые фотографии

Исходный вид сетки

Это произошло, когда я установил isDone (true) только для первого элемента

Можете ли вы помочь мне, что я должен сделать, чтобы изменить зеленый только на первом изображении, пожалуйста?Если вам нужно больше кода или информации, я дам вам.Большое спасибо за ваши советы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...