Android listview 优化 一

@Override
    public View getGroupView(int i, boolean b, View **view**, ViewGroup viewGroup) {
        ViewHolder holder;
        if(view == null){
            holder = new ViewHolder();
            **view** = inflater.inflate(group_LayoutId,null);
            holder.orderId = (TextView)view.findViewById(R.id.item_already_order_frag_parent_text);

            **view**.setTag(holder);
        }
        else {
            holder = (ViewHolder) **view**.getTag();
        }

            holder.orderId.setText("订单号:" + group.get(i).getOrderId());

        return view;
    }

注意:

把setTag设置到View里面。而不是viewparent中
在Viewholder里存储**对列表子项每个组件的id**应用。
通过**setTag**方法,把这个带有**view引用的对象**附加在View上,这样下次就不用重复的去寻找findViewById()了。通过getTag直接从view携带的**Viewholder中取出每个组件的引用。**

同时ViewHolder定义为静态类,把他放在静态存储区。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章