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定義爲靜態類,把他放在靜態存儲區。

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