关于Custom Adapter类的几个问题

时间:2013-04-02 09:16:37

标签: android

    public static class ViewHolder{
        public TextView item1;
        public TextView item2;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder;
        if (v == null) {
            LayoutInflater vi =
                (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.document_item_row, null);
            holder = new ViewHolder();
            holder.item1 = (TextView) v.findViewById(R.id.big);
            holder.item2 = (TextView) v.findViewById(R.id.small);
            v.setTag(holder);
        }
        else
            holder=(ViewHolder)v.getTag();

        final DocumentResponse custom = entries.get(position);
        if (custom != null) {
            holder.item1.setText(custom.getCreateByFullName());
            holder.item2.setText(custom.getTitle());
        }
        return v;
    }
  1. 任何人都可以向我解释覆盖方法的参数。 [getView(int position, View convertView, ViewGroup parent)]。我需要知道每个论点的作用是什么?

  2. 我有一个静态类ViewHolder来保存我的视图组件,那么我为什么要创建一个nerw实例holder

1 个答案:

答案 0 :(得分:0)

对于getView方法:

  • position是列表中的索引,您将使用它来从数据源获取当前对象
  • convertView是一个View ...,它是getView方法为另一个位置返回的视图,因此您不必为每一行的视图充气,您可以重用一个。
  • parent可能是容器,但我从未使用它。