0

我有这个问题,我想根据我给它的数字只填充 GridView 的某些部分。这是图像:

在此处输入图像描述

如果我只给出 8 项中的 3GridView项,则应突出显示其中的 3 项。请注意,8 是固定的!我有所有代码和自定义适配器,我很困惑我应该检查哪一部分,并且GridView只应该突出显示其中的 3 个。

这是我在我的活动中设置自定义适配器的地方:

    Integer[] lessons = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8};
    CustomAdapter gridViewAdapter = new CustomAdapter(this, R.layout.item_lessons, lessons);
    gridView.setAdapter(gridViewAdapter);

我的自定义适配器:

  @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;
        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(resource, parent, false);
            holder = new ViewHolder();
            holder.tvLessons = (TextView) row
                    .findViewById(R.id.lesson_module);
            row.setTag(holder);
        } else {
            holder = (ViewHolder) row.getTag();
        } holder.tvLessons.setBackgroundResource(R.drawable.icon_lesson_filled);
        return row;
    }
    public class ViewHolder {
        public TextView tvLessons;
    }
4

1 回答 1

1
  @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;
        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(resource, parent, false);
            holder = new ViewHolder();
            holder.tvLessons = (TextView) row
                    .findViewById(R.id.lesson_module);
            row.setTag(holder);
        } else {
            holder = (ViewHolder) row.getTag();
        } holder.tvLessons.setBackgroundResource(R.drawable.icon_lesson_filled);
        if(position <= <yourNumber i.e 3>)
           holder.tvLesson.setBackgroundColor(Color.Blue);
        return row;
    }
    public class ViewHolder {
        public TextView tvLessons;
    }

如果您在实施它时遇到任何问题,请告诉我享受...

于 2013-11-12T11:35:27.707 回答